わーぷろおじさん

WordやOffice関連の小細工の備忘録。

VBA

【Excel VBA】簡単にNeポート番号付きのプリンタ名一覧を取得する裏技

コード 参照設定:Microsoft Shell Controls And Automation Sub Test() Dim myPrinter As String myPrinter = Application.ActivePrinter Dim Shell As Shell32.Shell Set Shell = New Shell32.Shell Dim Printer As Shell32.FolderItem2 For Each Printer …

【word vba】差し込み印刷をマクロで制御(備忘録)

基本操作 Sub testMMDS() Dim mmds As MailMergeDataSource Set mmds = ActiveDocument.MailMerge.DataSource Debug.Print mmds.ConnectString Debug.Print mmds.QueryString Debug.Print mmds.TableName Debug.Print mmds.Name Dim i As Long For i = 1 To …

【excel vba】Listobjectをテーブル名で掴み、SQLを投げる

概要 Listobjectの取得にはworksheetの指定から行わなければならず面倒なので、テーブル名だけで取得できるように関数を用意する。 テーブルに対してSQLを投げる際のSQL文をListobjectを起点として作成する方法を説明する。 コード New_モジュール Public Fu…

【vba】自作コレクションクラスの備忘録

VBA

概要 自作コレクションクラスにインスタンスをNewから直Addして、For Each又はIndexでアクセスする備忘録 前提 クラスの属性については、他のサイトで十分に解説されています。 コンストラクタに引数を持たせる方法については、自前の下記記事を参照願います…

【vba】引数付きコンストラクタの一案

VBA

概要 コンストラクタに引数を持たせる方法の一案 コード Personクラス Option ExplicitPrivate mName As StringPublic Function Init(Name_ as String) As Person mName = Name_ Set Init = MeEnd Function Init関数を定義し、引数を受け取って自身のインス…

【word vba】縦に列挙した文字列をフィールドコードで括弧で囲う

概要 段落区切りで区切られた文字列をVBAでフィールドコードに取り込む 送付文書の連名宛名の右側だけに右波括弧を付けて、波括弧の外に「殿」を付ける(私の職場の)習慣をもとにマクロを作成 前提条件 列挙される文字列は改行によって区切られている(段落…