注目の投稿
EXCELのマクロでWORDのユーザープロパティを設定する。 Create WORD "User Properties" from EXCEL VBA.
- リンクを取得
- ×
- メール
- 他のアプリ
WORDのユーザープロパティを VBAで設定する
Create WORD "User Properties" from EXCEL VBA.
WORD フィールド文 挿入の方法
この操作で、任意のユーザープロパティが、WORDの文書に埋め込まれる。
WORD VBA 参照設定の設定
参照設定 Microsoft Visual Basic for Applications のツール で下記のように設定する。
ツール 参照設定
参照設定の一覧が表示される。
Microsoft Excel 16.0 Object Library をチェック
使用している環境により異なる。
WORD VBA
'
'ユーザープロパティ設定用
'エクセルファイル(プロパティ一覧.xlsx)を開いておいてマクロを実行する。
'プロパティ名、内容を任意で設定可能 Max100件
'V2:エクセルファイル ワイルドカード対応 20170509
'
Sub Wdユーザープロパティ設定V2()
Dim CDP(100, 2)
Dim CDPN As Long
Dim n As Long
Dim i As Long
''call macro110507a '○イミディエイトクリア
' ■ エクセルの処理 プロパティ一覧.xlsx エクセルファイルをアクティブ
Dim Bk As String 'V2
Dim Ex As Object
Set Ex = GetObject(, "Excel.application")
AppActivate Ex.Caption
' ファイル名検索
Dim WB As Workbook
Bk = ""
For Each WB In Ex.Workbooks
Debug.Print WB.Name
If WB.Name Like "*プロパティ一覧*" Then
Bk = WB.Name
End If
Next
Ex.Workbooks(Bk).Activate 'V2
' ■SHEET1のプロパティの情報
With Ex.Workbooks(Bk).Worksheets("sheet1")
CDPN = .Range("A1").End(xlDown).Row
For n = 2 To CDPN
CDP(n, 1) = .Cells(n, 1)
CDP(n, 2) = .Cells(n, 2)
'Debug.Print CDP(n, 2)
Next n
End With
Set Ex = Nothing
' ■WORD処理 プロパティがある場合はプロパティを削除
' CountはFor文で減っていくので、Countのデータを削除する。
Debug.Print "前Count= " & ActiveDocument.CustomDocumentProperties.Count
With ActiveDocument
For i = 1 To .CustomDocumentProperties.Count
Debug.Print "i=" & .CustomDocumentProperties.Count & " Data= " & .CustomDocumentProperties(.CustomDocumentProperties.Count)
.CustomDocumentProperties(.CustomDocumentProperties.Count).Delete
Next i
End With
Debug.Print "後Count= " & ActiveDocument.CustomDocumentProperties.Count
''MsgBox "ユーザープロパティを設定します。"
'■WORD処理(プロパティがない場合ADD処理)
For n = 2 To CDPN
With ActiveDocument.CustomDocumentProperties
.Add Name:=CDP(n, 1), _
LinkToContent:=False, _
Type:=msoPropertyTypeString, _
Value:=CDP(n, 2)
End With
Next n
End Sub
エクセルシート の説明
WORD マクロ実行
上記のエクセルを、開いておき、WORDのマクロを実行する。
WORDマクロ実行は、ALT+F8 キー
マクロ 画面で、Wdユーザープロパティ設定V2を実行する
マクロ実行結果
文書のプロパティを確認すると、Excelの表の内容のユーザープロパティが作成されている。
ユーザープロパティがすでにある場合にも、Excelの内容で、上書きをする。
活用の方法
エクセルの表の内容が、WORDに設定されるので、
WORDをテンプレートとして、任意のユーザープロパティを設定しておき。
数多くのユーザープロパティを、WORDに埋め込むことが可能になる。
手配リストなど、機種毎に、Excelで、プロパティ一覧を作成する場合
多くの条件から部品を拾い出すことになるため、各データファイルから、手配リスト用などの、プロパティ一覧ファイルに集約して、そのまとめられたプロパティをWORDから呼び出す。
参考リンク先
Word VBA Excelと連携
Excel VBA とAutocad 連携
Excel PowerPoint(PPT) 連携
エクセルからパワーポイントのノートを書き込むVBA
Excel VBA
コメント
コメントを投稿