Office関連

選択範囲をOneNoteに送るVBAマクロ

OneNote プリンタードライバー([OneNote 20XX に送る]プリンター)を使ってドキュメントを印刷すると、印刷した情報がそのままOneNoteに送られます。
この機能を使えば簡単に選択範囲をOneNoteに取り込むことができるので、早速試してみました。

Option Explicit

Public Sub SendToOneNote()
'PrintOutメソッドを使ってOneNoteに選択範囲を送る
  Dim prnON As String
  Dim tmp As String
  
  prnON = GetOneNotePrinterName
  If Len(Trim(prnON)) < 1 Then Exit Sub
  tmp = Application.ActivePrinter
  On Error Resume Next
  Selection.PrintOut ActivePrinter:=prnON
  On Error GoTo 0
  Application.ActivePrinter = tmp
End Sub

Private Function GetOneNotePrinterName() As String
'OneNoteプリンター名取得
  Dim ret As String
  Dim colItems As Object
  Dim itm As Object
  
  ret = "" '初期化
  On Error Resume Next
  Set colItems = CreateObject("WbemScripting.SWbemLocator").ConnectServer.ExecQuery("Select * from Win32_Printer")
  For Each itm In colItems
    If InStr(LCase(itm.DriverName), "onenote") Then
      ret = itm.Name
      Exit For
    End If
  Next
  On Error GoTo 0
  GetOneNotePrinterName = ret
End Function

上記の通り、単にプリンターとしてOneNote プリンタードライバーを指定して選択範囲を印刷しているだけのマクロですが、とりあえず、これで簡単にExcelデータをOneNoteに送ることができるようになりました。

「データ追跡機能付きテンプレート ウィザード」のダウンロード先前のページ

2014年7月の人気記事次のページ

関連記事

  1. Office関連

    PHPPresentationを使ってPHPからPowerPointファイルを出力してみる。

    久しぶりにPHPOfficeを覗いてみたら「PHPPresentati…

  2. Office アドイン

    [Office用アプリ]第一回 Apps for Office 勉強会で登壇しました。

    19日(金)に第一回 Apps for Office 勉強会が東京で開…

  3. Office関連

    変更履歴をオンにしたままで文字列の置換を行うWordマクロ

    MSDNフォーラムに、“変更履歴をオンにした状態で文字列を置換するマク…

  4. Office アドイン

    PowerPoint用のOffice用アプリ

    当ブログでも散々紹介しているOffice用アプリ(apps for O…

  5. Office関連

    メールアドレスからExchangeUserを取得するOutlookマクロ

    mougに“メールアドレスをキーとしてExchangeグローバルアドレ…

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

Time limit is exhausted. Please reload CAPTCHA.

※本ページはプロモーションが含まれています。

Translate

最近の記事

アーカイブ

PAGE TOP