以下のマクロを実行すると、A5サイズのワードが作成されます。
このワードファイルを消さずに再度実行すると、用紙サイズ、余白の設定のみが初期設定(A4サイズ)に戻りデータのみ記入されます。
質問
データを見る限り、新しく作成されたデータをアクティブにしている(なのでデータが書き込まれる)と思うのですが、なぜ用紙サイズと余白サイズのみ新しく作成された文書は初期設定になっているのでしょうか。
使用方法として毎回消せばいいのですが、今後の為に対策と改善方法を知っておきたいです!
よろしくお願いします!!
Sub 裏紙作成(i As Long) Dim wdApp As Word.Application Dim wdDoc As Word.Document Dim cla As String Dim name As String Dim pro As String Dim ADR As String cla = Cells(i, 8) name = Cells(i, 3) ADR = Cells(i, 2) & Cells(i, 4) Set wdApp = CreateObject("Word.Application") Set wdDoc = wdApp.Documents.Add wdDoc.Activate wdApp.Visible = True Application.PrintCommunication = False With ActiveDocument.PageSetup .PageWidth = MillimetersToPoints(148) .PageHeight = MillimetersToPoints(210) .TopMargin = MillimetersToPoints(12.7) .BottomMargin = MillimetersToPoints(12.7) .LeftMargin = MillimetersToPoints(12.7) .RightMargin = MillimetersToPoints(12.7) End With Application.PrintCommunication = True With wdApp .Selection.Font.name = "HGP行書体" 'フォント Call .Selection.Goto(What:=wdGoToPage, Which:=wdGoToFirst, Count:=pageNo) 'カーソルを置く .Selection.Font.Size = 11 For g = 1 To 13 .Selection.TypeParagraph '改行 Next .ActiveDocument.Range(Start:=.ActiveDocument.Paragraphs(1).Range.Start, End:=.ActiveDocument.Paragraphs(1).Range.End).Font.Size = 28 .ActiveDocument.Range(Start:=.ActiveDocument.Paragraphs(4).Range.Start, End:=.ActiveDocument.Paragraphs(4).Range.End).Font.Size = 44 .ActiveDocument.Range(Start:=.ActiveDocument.Paragraphs(5).Range.Start, End:=.ActiveDocument.Paragraphs(5).Range.End).Font.Size = 26 .ActiveDocument.Range(Start:=.ActiveDocument.Paragraphs(6).Range.Start, End:=.ActiveDocument.Paragraphs(6).Range.End).Font.Size = 38 .ActiveDocument.Range(Start:=.ActiveDocument.Paragraphs(7).Range.Start, End:=.ActiveDocument.Paragraphs(9).Range.End).Font.Size = 20 .ActiveDocument.Goto(What:=wdGoToLine, Count:=1).Text = cla .ActiveDocument.Goto(What:=wdGoToLine, Count:=4).Text = name .ActiveDocument.Goto(What:=wdGoToLine, Count:=13).Text = ADR .ActiveDocument.Range(Start:=.ActiveDocument.Paragraphs(1).Range.Start, End:=.ActiveDocument.Paragraphs(10).Range.End).ParagraphFormat.Alignment = wdAlignParagraphCenter End With End 'リモートサーバーエラー対策 End Sub
備考:上記の内、対象コードは以下です。
Application.PrintCommunication = False With ActiveDocument.PageSetup .PageWidth = MillimetersToPoints(148) .PageHeight = MillimetersToPoints(210) .TopMargin = MillimetersToPoints(12.7) .BottomMargin = MillimetersToPoints(12.7) .LeftMargin = MillimetersToPoints(12.7) .RightMargin = MillimetersToPoints(12.7) End With Application.PrintCommunication = True
よろしくお願いします!
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/12/19 11:22
2021/12/19 11:28