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に送ることができるようになりました。

関連記事

  1. Office関連

    VALUE DOMAINで管理しているドメインをOffice 365で使用する。

    Office 365をセットアップすると設定される初期ドメイン「onm…

  2. Office関連

    ノートを削除するPowerPointマクロ

    下記のコードは「Remove Notes Pages in Power…

  3. Office関連

    パスワード付のPDFファイルを作成するExcelマクロ

    2019/8/16 追記:WordやPowerPointにも対応し…

  4. Office関連

    [OneNote]クリップボードから新しいページに貼り付け

    何かをメモするとき、ファイルを保存するとき等々、私はよくOneNote…

  5. アイコン一覧

    Office 365アイコン(imageMso)一覧(U)

    Office 365のデスクトップ版Officeアプリケーション(Wo…

  6. Office関連

    ユーザー設定フォームに基づいてメールを作成するOutlookマクロ

    Outlookには「ユーザー設定フォーム」(Custom Forms)…

コメント

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

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

Time limit is exhausted. Please reload CAPTCHA.

最近の記事

アーカイブ

RapidSSL_SEAL-90x50
PAGE TOP