インストールレスプログラミング( ´ー`)

VBA , JavaScript , HTAなど 365アプリはインストール必要ですが、仕事に無いケースはほぼないから(・_・;)

めずらしくWordです

日々忙しい主張はしているところですが,その中でも今まで通りにしたくない,と思うのは

PowerpointVBAがなんとなく制御できるようになったり,ClassModuleがなんとなくできてきたおかげだと思います。

切羽詰まっている中,モチベーションはMaxなので,この機を逃さずいろいろなことを物にすると,この先便利になる。

今まで,WordはVBAで制御しようにも,自分が編集したい部分を探すだけで大変だったわけで,なかなか手を出せませんでした。

でも,VBAという仕組みをもつExcelPowerpointをいろいろいじってるうちに,なんとなく仕組みがわかるんじゃないかと,自分にしては無謀にもWordの文書もVBAでなんとかしようと考えています。

理由は単純で,文書は基本Wordで様式を渡されるわけで,今までの私なら,制御しにくいからExcelで似たようなものを実現して,変化させたい部分のセルに値を入れて,,ということになるわけですが,微妙に調節したりメンドクサイし時間がかかります。

差し込み印刷は使いこなせているつもりですが,いろいろ手間がありますし,ファイル間の関係が変わると,ソースが無いよと言われたり何かと気を付けることがある。

やることは差し込み印刷と何ら変わらないレベルですが,VBAで制御できることにはかなり意味がありますので,とりあえずそれも自分のために載せておこうと。

ファイルで保存していると,時が経つとどこかにやってしまいますからね。

ブログは楽です。Powerpoint,Excel等のインデックスは今度またきちんと構成しなおしておこうと思いますが,構成していなくても検索でいつでも探せる。

備忘録に最適(ΦωΦ)


さて,前置きが長すぎますし,そんなに時間が無いのでさっさと書く。

目的のWordファイルを開いて,編集する始まり。

Sub test()
Dim Wd As Object: Set Wd = CreateObject("Word.Application")
'Dim Wd As Word.Application: Set Wd = New Word.Application
Wd.Visible = True
Dim TargetDocument As Object
'Dim TargetDocument As Word.Document
Dim DocumentName As String: DocumentName = "◇◇◇.docx"
Set TargetDocument = Wd.Documents.Open(ThisWorkbook.Path & "\" & DocumentName)
Stop

End Sub

駆け出しのときは参照設定でインテリセンスに助けてもらうのが一番なので,参照設定した場合のコードもコメントアウトして載せています。
Stopまでで,WordのDocumentを開いて,TargetDocumentに開いた文書をオブジェクトとして入れています。

こうする利点はローカルウィンドウが最大限に活用できること。

f:id:chemiphys:20170209201917p:plain

ローカルウィンドウから得られる情報はとんでもないですしね。
f:id:chemiphys:20170209202232p:plain
この辺を見ると,ExcelPowerpointVBAの経験から考えると,どうすればいいかだいたいわかってくる。
f:id:chemiphys:20170209202404p:plain

表の中身はこれで制御できますね。

PowerpointでCharactersやRunsあたりのテキスト関連を触った経験から,普通の文書部分もなんとなく想像はつきます。

こちらもほとんど無知からスタートですが,一気に差し込み印刷程度はやれるようにがんばってみよう。

VBA仲間探索のため,ブログ村に参加しています。
にほんブログ村 IT技術ブログ VBAへ
にほんブログ村