プロが教える店舗&オフィスのセキュリティ対策術

Excelで作成した表をWordに貼り付けて書式を整えるところまでエクセルのVBAで行いたいのですが、どうすればよいのでしょうか?
具体的にはWord側で表の見出しを除いた範囲の行の感覚を固定で10ポイントにしたいというものです。

宜しくお願い致します。

A 回答 (1件)

こんにちは。



VBAはあまり使わない上にWordのVBAはまったく知らないのですが、『マクロの記録で半分できるのでは?』と思ってやってみたら、表の操作はまったく記録されないのですね。(^_^;)

・・・てなわけで、少し調べてみました。
 ◇ExcelからのWord操作
  http://makoto-watanabe.main.jp/vba_Word.html
 ◇wordVBAのサンプル
  http://www.relief.jp/itnote/Word/VBA/
 ◇MSDN WordVBAリファレンス
  https://msdn.microsoft.com/en-us/library/office/ …

このあたりを参考に、最低限のものを作成してみました。
エクセルで対象部分を選択した状態で実行すれば、その部分をコピペして高さを調整するというものです。

※最小限なのでチェックやエラー処理は行っていません。
※VBAに慣れていないので要領は悪いと思いますが、ご参考までに。
※word文書は開いていない前提としていますが、実際には指定文書の有無や開いているかのチェック等々も必要かと思います。


Sub test1()

Dim wrd As Object, doc As Object, rw As Object
Dim docPath As String

docPath = "C:\Users\xxxxxxxxxxx\hogehoge.docx" 'word文章のパス


Set wrd = CreateObject("Word.Application")
wrd.Visible = True
Set doc = wrd.documents.Open(Filename:=docPath)

Selection.Copy
doc.Range(0, 0).Paste

For Each rw In doc.tables(1).Rows
If rw.Index > 1 Then rw.SetHeight RowHeight:=10, HeightRule:=2
Next rw

Set wrd = Nothing

End Sub
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!