dポイントプレゼントキャンペーン実施中!

wordの透かしのように全シートに特定の指定するオブジェクト(画像)を張り付けることは可能でしょうか?
実施したいこと
1 画像を挿入(指定のフォルダとかから)
2 真ん中に表示(上下左右中央)
3 最前面に表示
4 指定のページに画像を挿入
5 指定のページのヘッダにロゴマークを表示(ヘッダの位置10mm)

マクロ等で考えており、プログラムとかでできればいいのですが、
マクロで画像の挿入はできましたが、上下中央、左右中央、最前面表示等をしましたが、挿入しか反映できませんでした・・・
ヘッダかフッタの指定ページにもロゴマーク等を入れたいのですが個別にチマチマやるしかありませんかね
wordにはそもそも実行不可ですか?
よろしくお願いします。

A 回答 (2件)

文書各ページごとに画像を挿入したいのですね。


確実な方法は、Selection.GoToで各ページに移動することです。

お礼にあるマクロの一部を修正したものを提示します。

Sub 画像の挿入2()
Dim PIC As Shape
Dim shp As Word.Shape
Dim pg As Long
Dim i As Integer

' 各ページごとの処理
pg = Selection.Information(wdNumberOfPagesInDocument)
For i = 1 To pg
 Selection.GoTo What:=wdGoToPage, _
      Which:=wdGoToAbsolute, _
      Count:=i
' 画面の更新を止める
Application.ScreenUpdating = False

' 画像処理
Set PIC = ActiveDocument.Shapes.AddPicture("C:\Users\hiroshilun\Pictures\7月\ゴザの上でくつろぐ気ままな野良猫.jpg")
 With PIC
  .RelativeHorizontalPosition = _
  wdRelativeHorizontalPositionPage
  .RelativeVerticalPosition = _
  wdRelativeVerticalPositionPage
  .Left = wdShapeCenter
  .Top = wdShapeCenter
 End With
Next

Set PIC = Nothing
' 画面の更新
Application.ScreenUpdating = True

End Sub

ヘッダーの処理については、こちら↓が参考になるのでは。
https://www.relief.jp/docs/word-vba-add-shape-he …
    • good
    • 0
この回答へのお礼

ご回答ありがとうます。
あれから色々試しおかげさまで何パターンか確認することができ無事指定通りの結果にできました。
ありがとうございました。

お礼日時:2021/12/13 08:58

2 真ん中に表示(上下左右中央)について


こちら↓の回答がヒントになりませんか?
https://oshiete.goo.ne.jp/qa/10906231.html
一部再掲
' 配置関係の書式を設定
  With PIC
   .RelativeHorizontalPosition = _
    wdRelativeHorizontalPositionPage
   .RelativeVerticalPosition = _
    wdRelativeVerticalPositionPage
   .Left = wdShapeCenter
   .Top = wdShapeCenter
  End With
3の最前面表示は、新規に追加したものが常に最前面になります。
(挿入した図の順序は、後からのものが常に最前面なので)
文字列の折り返しは、他の図と同じにしてくださいね。

4と5についてはページ設定での指定ですね。
https://docs.microsoft.com/ja-jp/office/vba/api/ …
具体的な書き方は質問者さんが調べてみてね。
    • good
    • 0
この回答へのお礼

enunokokoroさん回答ありがとうございます。
ヒントからあれからいろいろ試してみて
中央に来ることとページ数分の貼り付けはできるようになりましたが
最初のページにすべて集約してしましました。

Sub 画像の挿入2()
Dim PIC As Shape
Dim shp As Word.Shape
Dim pg As page

For i = 1 To wdNumberOfPagesInDocument
'With ActiveWindow
'.View.Type = wdPrintView
'For Each pg In .ActivePane.Pages
Set PIC = ActiveDocument.Shapes.AddPicture("C:\Users\eine-\OneDrive\デスクトップ\test1\test (1).png")
With PIC
.RelativeHorizontalPosition = _
wdRelativeHorizontalPositionPage
.RelativeVerticalPosition = _
wdRelativeVerticalPositionPage
.Left = wdShapeCenter
.Top = wdShapeCenter
End With
'Next pg
'End With
Next

Set PIC = Nothing

End Sub


ヘッダについても高さ調整等はできましたがアンカーのせいで左固定になってしまい、右寄せ等ができませんでした。

お礼日時:2021/12/09 00:35

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