
ワード2007で,複数ファイルにページ連番をつけています。
ファイル1:1~15ページ
ファイル2:16~45ページ
・
・
・
ファイル10で,複数ファイルの目次を作成したのですが,ファイル2からの目次に表示されるページ数が,連番ではなく,1からカウントされてしまいます。これは,ファイル2からのページ数を手動ではなく,自動でページ番号が変わるようにフィールドコードを入力しているためです。
参考までに,フィールドコードは,概ね以下のように入力しています。
○複数ファイルの連番:ファイル2のフッターに採用しているフィールドコード
{ ={ page }+{ LINK Word.Document.12 "・・・\\ファイル1.docx" "OLE_LINK1" \a \t } }
※ファイル1に{ numpages }で,総ページ数を本文中に表示し,それをコピーしてファイル2にリンクテキスト貼付け(OEL_LINK1)。
○目次に採用しているフィールドコード
{ TOC \o "1-3" \u \h \z \N "1-1" }{ RD "ファイル1.docx" \f }{ RD "ファイル2.docx" \f }・・・
手動でなら,変更できるのですが・・・今後も,まだまだ編集・更新するので,可能なようであれば自動で更新されるようにしたいです。しかしながら,フィールドコード初心者で,どのように解決すれば良いのか,さっぱり分かりません。
詳しい方,教えて下さい!!!
No.3ベストアンサー
- 回答日時:
ちょっと補足
PageNumbersを記載忘れ。
https://msdn.microsoft.com/ja-jp/library/office/ …
必要に応じてプロパティを設定することで、対応します。
一応、こちら↓も参考までに。
https://msdn.microsoft.com/ja-jp/library/office/ …
私はヘルプやWord関連のサイトにあるマクロを真似ているだけなので、
どこに問題があるのかを判断するのに個別で検証する方法で対応して
いるだけなので、紹介したマクロがうまく動かなくても、問題点を的確に
指摘できるスキルがありません。
質問者さんが、ある程度VBAを理解できるのであれば、いろいろ検証を
してみてはいかが。
ありがとうございました!!!
正直,私の今のスキルでは,すぐに対応できないことが良く分かりました。
あきらめて,今回は手動で複数ファイルのページ番号開始設定を行います。
ただ,今回のようなことが出来れば,例えば複数人で作業したワードファイルを本にまとめるなどのときにも,わざわざ一つのファイルにまとめて様式を整えなくても良いというような可能性を感じました。時間があるときに,勉強させて頂き,検証してみます!ありがとうございました!
No.2
- 回答日時:
No.1でのマクロではできなかったのですね?
マクロは苦手なので、何が間違っているのか判断できません。
検証として、以下のマクロを新規文書でもよいので登録しておきます。
Sub ページ数を取得する()
MsgBox _
ActiveDocument.Range.Information(wdActiveEndAdjustedPageNumber)
End Sub
Sub 開始ページを指定()
ActiveDocument.Sections(1).Headers(1) _
.PageNumbers.StartingNumber = 5
End Sub
ファイル1でもファイル2でもよいので、アクティブにしてから
上記マクロを実行します。
総ページ数の確認及び、開始ページの指定をするものですから、この
マクロが動くようなら、最初のマクロも動くと思うのですが...
http://www.eurus.dti.ne.jp/~yoneyama/Word2007/fa …
ちなみにマクロで指定しているものは、以下のものです。
[開始ページ]の指定は、セクション1にあるwdHeaderFooterPrimaryを
指定するものです。
https://msdn.microsoft.com/ja-jp/library/office/ …
https://msdn.microsoft.com/ja-jp/library/office/ …
総ページは以下の情報を取得するものです。
wdActiveEndAdjustedPageNumber
https://msdn.microsoft.com/ja-jp/library/microso …
No.1のマクロを[ F8 ]キーなどでステップインしてローカルウィンドウの
変数の変化を確認してみてはいかが。
http://excelvba.pc-users.net/fol8/8_2.html
No.1
- 回答日時:
以前の質問で、アドバイスしておけばよかったですね。
https://oshiete.goo.ne.jp/qa/9763225.html
目次の質問もしていたので気になっていたのですが、複数ファイルで
ページ番号をファイルごとに連番にするだけなら以前の方法で対応
できますが、目次で参照(RDフィールド)を使う場合は、無意味なもの
になります。
理由としては、RDフィールドとTOCフィールドで取得する目次項目の
ページ番号は、各ファイルのPAGEフィールドを参照するものだから。
PAGEフィールドに計算式を使って表示上のページ番号を変えても、
[ページ番号の書式設定]における[開始ページ]は同じだからです。
ですから、[ページ番号の書式設定]における[開始ページ]をファイル
ごとに前のファイルの総ページを足したものにする必要があるという
ことです。
設定手順
フッターに設定したフィールドコードを削除して、PAGEフィールドのみ
フッターに配置しておきます。
ファイル1からファイル10までのそれぞれに[ページ番号の書式設定]
として[開始ページ]を1にしておきます。
(事前に開始ページと指定するようにしておく必要があるため)
自動ということは無理ですが、目次ファイルをマクロ付きファイルでの
保存をして、目次ファイルに以下のマクロを登録します。
(マクロは不得意なため、初心者的なマクロです)
Sub ページ番号連番()
Dim fname As String
Dim i As Integer
Dim i_Pnum As Integer
Dim iPage As Integer
iPage = 1
' ファイル名が同じ名前+連番の場合でファイル数が10の場合
For i = 1 To 10
' 目次ファイルが同じフォルダにない場合
' fname = "フルパス" & "ファイル" & i & ".docx"
' 目次ファイルが同じフォルダの場合
fname = "ファイル" & i & ".docx"
Documents.Open FileName:=fname
With ActiveDocument
.Sections(1).Footers(1).PageNumbers.StartingNumber = iPage
i_Pnum = ActiveDocument.Range.Information(wdActiveEndAdjustedPageNumber)
iPage = i_Pnum + 1
.Close
End With
Next
End Sub
これで、保存してあるファイル1を開き、総ページを取得します。
ファイル1を閉じ、取得した総ページ数+1でファイル2の開始ページ
を変更して、上書きの確認後に次のファイルを設定します。
すべてのファイルを実行後、手動で[目次の更新]をします。
ページ番号が連番になっていることを確認します。
enunokokoro さん,早々のご回答およびマクロまで提示して頂き,ありがとうございました!!
ワードのスペシャリストですね!感服致します!
ご回答から,無理難題な質問をしてしまったことが,良く分かりました(^^;)
ただ,もう少し甘えさせて頂くと,上記のマクロではページ数が変わりませんでした(私のやり方がまずかったのかもしれませんが・・・)
○ファイル10を目次とした場合,ファイル1~9を指定。ファイル1とファイル2,ファイル2とファイル3・・・全てのファイルが,それぞれ連番になりませんでした。
○ファイル指定は,マイドキュメント内を探すようなので,フルパスの方法を選択し,設定する必要がありました。
何か設定が悪かったでしょうか?
※”開始ページを1にする”は,全てのファイルで確認致しました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux テキストファイルをページ番号付きでコマンドラインから印刷したい 1 2023/02/22 12:47
- Word(ワード) ワードのテンプレ作れる? 1 2022/03/26 10:35
- Excel(エクセル) Excelから複数のWordファイルを操作する方法について教えて頂きたい。 やりたいことは、複数のW 2 2022/07/26 20:11
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Excel(エクセル) フォルダAから1つのファイルだけを、フォルダBへを移動するVBAについて 2 2022/07/25 11:45
- PDF PDFファイルプログラム。ファイル名の昇順にPDFに収録されないのは何が原因か? 3 2023/07/28 08:49
- Visual Basic(VBA) Wordマクロで指定したフォルダ名に保存する方法について 8 2022/12/13 11:35
- Excel(エクセル) Excel、同じフォルダ内のExcelファイルの特定シートのみを1つのファイルに集約したい 8 2022/09/07 15:12
- Excel(エクセル) エクセル、画像ファイル名の書かれたセル(複数個所)に画像を一括で表示させる方法 1 2023/04/19 00:19
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【マクロ】EXCELで読込したCSV...
-
フォルダ内のブック全部にパス...
-
ファイルの呼出しマクロって出...
-
ローカル⇒ネットワーク移動でマ...
-
ExcelVBAで複数のブックに同じ...
-
マクロを登録したボタンの表示...
-
Wordで文書を開いた時に、前に...
-
フォルダ内の複数ファイルの一...
-
[Excel97]一つのファイルを開い...
-
コンパイルエラー
-
Excel:上書き保存時にワークシ...
-
excelマクロでファイルのサイズ...
-
VBAにおいて、""内で変数を使用...
-
エクセル VBA SHeetの隠し
-
エクセルのVBAで指定フォルダに...
-
エクセル VBAについて
-
Accessのaccdbファイルを起動で...
-
Excelマクロで教えて下さい。 ...
-
エクセルマクロで
-
メール内容の自動テキスト転送?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【マクロ】EXCELで読込したCSV...
-
EXCEL VBA 指定したファイルが...
-
【マクロ】名前を保存する際に...
-
フォルダ内のexcelファイルを順...
-
エクセルマクロで不特定なファ...
-
【Excel VBA】ファイル名が一...
-
ファイルを開かずにマクロを実行
-
フォルダ内のブック全部にパス...
-
EXCELマクロを無効にして開く方法
-
エクセル 複数ファイルの一括...
-
エクセル(マクロ)のファイル...
-
accessフォルダを移動したらフ...
-
秀丸:あらかじめ設定した複数...
-
データ参照先が別ファイルの場...
-
エクセルファイルを開く時、関...
-
Excelファイルがマクロを含むか...
-
ファイルの保存場所を変えたら...
-
エクセルのシートの数を数えた...
-
VBAでワークブックの名前を変数...
-
Excelのマクロでファイルを開く...
おすすめ情報