VBA有識者の方にご相談です。
以下の作業をマクロ化したいのですが、コードのご教授お願いいたします。
エクセルファイルのシート1のA列に文章と数値が入力されています。
1.wordを立ち上げて、A列のデータをwordに転記したいです。
2.転記したwordの余白を狭くしたいです。
3.wordのヘッダー右側に【常勤役員会】、フッター中央には【1、2】とページ番号を入れたいです。
4.可能であれば、wordのファイル名は【“転記した日”_常勤役員会】としたいです。
下記のVBAで、1のA列のデータを転記するところまではできましたが、2~4はどうしたらよいか分かりません。
よろしくお願いいたします。
ーーーーーーーーーーーーーーーーーーー
Sub
Dim WordApp As Object
Dim WordDoc As Word.Document
Dim I, lRow As Long
Dim ExcelText
Set WordApp = CreateObject("Word.Application")
lRow = Cells(Rows.Count, "A").End(xlUp).Row
With WordApp
.Visible = True
.Documents.Add
For I = 2 To lRow
ExcelText = Cells(I, "A").Text & vbLf
.Selection.TypeText ExcelText
Next I
End With
End Sub
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
こんにちは
'2.転記したwordの余白を狭くしたいです。
回答は左だけでしたね。上下左右の場合は
With WordApp
WordDoc.TopMargin = .MillimetersToPoints(10)
WordDoc.BottomMargin = .MillimetersToPoints(10)
WordDoc.LeftMargin = .MillimetersToPoints(10)
WordDoc.RightMargin = .MillimetersToPoints(10)
数値はポイント数(適時調整してください)
・・Margin はActiveDocument (WordDoc)オブジェクト
・・Millimeters はWord.Application(WordApp)オブジェクトです
WordDoc.PageSetup.LeftMargin =MillimetersToPoints(10)のように
命令するとWord参照が残り、続けて2回以降実行すると
実行時エラー462が返りますので注意してください
No.1
- 回答日時:
こんばんは
1度投稿したのですが・・時間がかかったからか、どこかに消えました
また、書くの大変なので 割愛して コードを示しますので
ステップ実行やコードのリファレンスなどで確認してください
applicationで分けています
中途半端なWith括りは、内容が分かりましたら整理してください(気を付ける部分に注意と入れています)
Dim WordApp As Object
Dim WordDoc As Word.Document
Dim I, lRow As Long
Dim ExcelText
Dim strHead As String
Set WordApp = CreateObject("Word.Application")
'Excel
With ActiveSheet
lRow = .Cells(.Rows.Count, "A").End(xlUp).Row
For I = 2 To lRow
ExcelText = ExcelText & .Cells(I, "A").Text & vbLf
Next I
End With
strHead = "【常勤役員会】"
'Word
With WordApp
.Visible = True
.Documents.Add
.Selection.TypeText ExcelText
Set WordDoc = .ActiveDocument
'2.転記したwordの余白を狭くしたいです。
WordDoc.PageSetup.LeftMargin = .MillimetersToPoints(10) '注意
'3.wordのヘッダー右側に【常勤役員会】、フッター中央には【1、2】とページ番号を入れたいです。
WordDoc.PageSetup.DifferentFirstPageHeaderFooter = True
With WordDoc.Sections(1).Headers(wdHeaderFooterPrimary)
.Range.InsertAfter (strHead)
.Range.Paragraphs.Alignment = wdAlignParagraphLeft
.PageNumbers.Add _
PageNumberAlignment:=wdAlignPageNumberCenter, FirstPage:=True
End With
'4.可能であれば、wordのファイル名は【“転記した日”_常勤役員会】としたいです。
WordDoc.SaveAs2 Filename:=ThisWorkbook.Path & "\" & Format(Date, "yyyy-mm-dd") & strHead
' WordDoc.Close savechanges:=False
' .Quit
End With
Set WordDoc = Nothing
Set WordApp = Nothing
End Sub
保存・閉じるはコメントアウトしています
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAで、シート間の転記するコードをFOR~NEXTで教えてください。 9 2023/04/30 20:04
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) フォルダの場所を可変にしたいです(マクロ) 4 2023/05/11 10:00
- Visual Basic(VBA) vba 重複データ合算 5 2023/07/05 18:55
- Visual Basic(VBA) エクセルVBAについて 8 2022/07/13 22:41
- Visual Basic(VBA) 複数シートの複数列に入力されているデータを重複なしで抽出するVBAを作りたいです。 9 2022/06/17 10:33
- その他(Microsoft Office) マクロVBAについて 1 2022/09/06 18:12
- Visual Basic(VBA) VBA 別ブックからの転記の高速化について VBA 別ブックからの転記の高速化についてご教授下さい。 19 2022/07/26 13:07
- Visual Basic(VBA) VBA シート間の転記で、条件の追加コードの書き方について教えて下さい。 13 2023/02/26 09:31
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで空白行を削除する ...
-
エクセルのデータがない行には...
-
数値に見えるものはすべて数値...
-
マクロで最終行を取得してコピ...
-
Excel VBAでオートフィルタで抽...
-
ピポットテーブルのマクロについて
-
【VBA】条件に一致しない行を削...
-
VBAによりマッチング操作
-
エクセルのVBAで指定した行数の...
-
Excel VBA オートフィルタの結...
-
マクロにて指定の文字間の文字...
-
Access2003レポート:最終ペー...
-
Excel マクロ 検索結果を別シ...
-
excel2021で実行できないマクロ...
-
EXCEL VBAでA列にある空白行よ...
-
Excel 別ブックから該当データ...
-
テキストファイル読み込みにお...
-
WPSOffice_マクロの有効化について
-
VBAで保存しないで閉じると空の...
-
エクセル関数>参照ファイル名...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで空白行を削除する ...
-
数値に見えるものはすべて数値...
-
エクセルのデータがない行には...
-
マクロで最終行を取得してコピ...
-
【VBA】条件に一致しない行を削...
-
【VBA】条件に一致しない行を削...
-
エクセルのVBAで指定した行数の...
-
VB.net
-
Excel VBAでオートフィルタで抽...
-
マクロにて指定の文字間の文字...
-
Excel97 指定した行だけマク...
-
EXCEL VBAでA列にある空白行よ...
-
excel2021で実行できないマクロ...
-
Excel 別ブックから該当データ...
-
VBAでの重複データに色付け
-
Excel VBA オートフィルタの結...
-
エクセルで階層図を作る方法
-
VBAで特定の行と一つ上の行を削...
-
【至急】Excel 同一人物の情報...
-
Excelで、マウスで範囲を選択し...
おすすめ情報