• ベストアンサー

多数のWord 2000ファイル名を自動的に各文書の同一セルに挿入する

 500個程度のWordファイルのタイトルをある程度自動的に、各ファイルの定位置セルに挿入することはできるのでしょうか。使用しているWordのバージョンは、2000です。  毎年発生する仕事ですから、自動的に書き込んでくれるプログラムを組みたいと思っていますが、VBAの本を読んでも理解できず進みません。ヒントでもかまいませんのでどうかお助けくださいますようお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんにちは。Wendy02です。 簡単な内容ですので、ご覧になって分かるかと思います。 定位置セル は、最初の表の 先頭の (1,1) の場所にしました。違うようでしたら、替えてみてください。位置は(行,列)です。何か書いてある場合は、そのセルの内容を消してから入れるようになっていますので注意してください。 万が一、セルがない場合などを考えて、エラーを出して、そのファイル名を出すようにしました。エラーを出したファイルは、記録はしていませんので、メモしてください。OKを押すと、そのまま継続してしまいます。(記録することも考えましたが、そのためにコードが別に必要になってしまいます) また、フォルダを専用フォルダにして、そこの中で処理させるように考えました。 これは、開発は、Word2003 ですが、Word2000のバージョンチェックを行いました。 なお、以下のコードは FileSearch オブジェクトを使っていますが、このプログラム自体は、Outlook 共用プログラムで、バージョンによって脆弱だという報告も聞きます。現在は、ワイルドカード(*)が単純なので、トラブルはありませんが、あまり複雑なSearch オプションを行う場合は、上手くいかないことがあります。 上手くいかない場合は、Dir 関数に換えたほうが良いようですが、複雑なものは、一旦、配列変数でファイル名を処理しなければなりません。 なお、こちらでは、以下のものは、テスト用のDocument ですので、問題は発生しておりませんが、実際の非常に大きな Document などは、そのDocument を最後まで読み込む前に、そのまま、実行してしまう、という事があるかもしれません。セルの位置が非常に深い場所にあったりすると、エラーが発生する恐れがあります。その場合は、タイムラグを設ける必要があります。(以下参照してください) ThisDocument オブジェクトか標準モジュールが良いかと思います。 '----------------------------------------------- Sub SetNameInCell() Dim i As Integer  On Error GoTo ErrMsg  With Application.FileSearch   .FileName = "*.doc"   .LookIn = "C:\MyFolder\" 'Wordの専用フォルダ   .Execute   For i = 1 To .FoundFiles.Count   Documents.Open .FoundFiles(i)   'タイムラグの場所   With ActiveDocument.Tables(1)    .Cell(1, 1).Range.Delete    .Cell(1, 1).Range.InsertAfter ActiveDocument.Name   End With   ActiveDocument.Save NextPrc:   ActiveDocument.Close   Next i  End With Exit Sub ErrMsg:  MsgBox ActiveDocument.Name & " でエラーが発生しました。" & vbCrLf & _   "記録してください。Okを押すと継続実行します。"  Resume NextPrc End Sub '----------------------------------------------- '・タイムラグの付け方(時間は許される範囲で変えてください) 'Option Explicit の下 Private Declare Sub Sleep Lib "KERNEL32.dll" (ByVal dwMilliseconds As Long) '一番上に置く   'タイムラグの場所のところに、   Sleep 2000 '2000 ms = 2秒

khontan
質問者

お礼

Wendy02さん こんばんは。 早速のご回答ありがとうございます。 今から教えていただいたマクロにとりかかります。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんにちは。Wendy02です。 お話は分かりました。しばらく、時間をください。出来る限り考えてみます。 たぶん、khontan さんご自身のDead Line は、おありになるかとは思いますが、出来る・出来ないに関わらず、締めない限りは、できるだけ早く、ここに必ず戻ってきます。

khontan
質問者

お礼

Wendy02さん、ありがとうございます。 今年は、間に合わなくても来年の今頃また同じ仕事が来る 予定です。 Wordのマクロのヒントでもいただくと幸いです。 お忙しいところ本当に恐れ入ります。

全文を見る
すると、全ての回答が全文表示されます。
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

こんばんは。 出来るとも出来ないともいえないのは、 まず、 >各ファイルの定位置セルに挿入することはできるのでしょうか。 というところですね。必ず、セルがあればよいのですが、セルがない場合はどうするのでしょうか?Wordに表があればよいのですが、そうでない場合もありますね。Excelとは違いますからね。 Document の最初とか最後なら、比較的問題は少ないのですが。 次に、 >Wordファイルのタイトル というのは、プロパティのことを指すのですか?必ずしも、タイトルとファイル名は同じではありませんね。 ある程度、マクロなりで取得する部分と書き込む部分が決まっていればよいのですが、今のご質問だけだと、かなり分かりにくいです。 最後に、私は、Wordマクロは、しばらく遠ざかっていますから、できるかどうかはわかりません。

khontan
質問者

補足

こんばんは。ご回答ありがとうございます。 質問が不明瞭で申し訳ありません。補足をします。 (1.私の質問) 各ファイルの定位置セルに挿入することはできるのでしょうか。 (1.ご回答) というところですね。必ず、セルがあればよいのですが、セルがない場合 はどうするのでしょうか?Wordに表があればよいのですが、そうでない場 合もありますね。 (1.補足) セルは必ず存在します。すべてのファイルは定型表です。500ページの大学 講義内容説明冊子を作成するのです。印刷会社にデータを渡し、校正する のが私の仕事です。ひとつの講義に対して、1ページを割いて説明する冊子 です。すべて決まった位置にデータを入れ込みたいのです。 (2.私の質問) Wordファイルのタイトル (2.ご回答) というのは、プロパティのことを指すのですか?必ずしも、タイトルと ファイル名は同じではありませんね。 (2.補足) 各ファイルのアイコンにくっついて表示されている”ファイル名”です。 この場合、講義の識別番号をファイル名に使っています。 初めて質問する者でお手間かけますが、できる範囲でマクロを教えていた だけませんか。お願いします。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ワードに写真ファイル挿入でも、ファイルサイズを大きくしない方法

    ワードにデジカメでとった500KBから800KBの写真ファイルをいくつか貼ると、そのワードファイルがとても大きくなってしまいます。かといってフォトショップなどで、張る前の写真ファイルのサイズをひとつひとつ小さくするのも、写真がたくさんあるので面倒です。 以下をすることで、ワードに何十個という写真ファイルを貼り付けても、そのワードファイルが大きくならないようにする方法はありませんでしょうか。 1.ワードに挿入するとき自動的に写真サイズを小さくする 2.写真ファイルを何十個も一括して小さくする ここでいうサイズとは大きさとファイルサイズをさします。ここではほぼ同義語ですが。 ワードのバージョンはXPです。ウィンドウズは2000Proです。 よろしくおねがいします

  • Word2007 差し込み文書に指定と異なるセルが

    Word2007で、差し込み文書を利用し、Excel2007から住所録を挿入しています(ファイル形式はいずれも97-2003互換形式です)。 住所録では、住所のセルとマンション・アパート名等のセルが分かれており、マンション・アパート名等のセルに記載のある行と空欄の行が混じっています。スペースのみが挿入されたセルはありませんでした。 これをワードに差し込むと、マンション・アパート名のセルが空欄の行において、マンション・アパート名の差し込みフィールドに、同じ行の先頭のセル(例えば名字)が挿入されたり、直前のセル(住所)が挿入されたりして、氏名や住所が2重に表示されてしまいます。現れ方の法則性は分かりませんでしたが、元のExcel住所録に情報のない、Word内の書式が一致しています(例えば、正しいフィールドにおいて名字のフィールドのフォントを大きくしていたとすると、マンション・アパート名のフィールドに誤って名字が挿入される際、フォントが大きくなります。結果のプレビューを解除するとフォントの大きさは元に戻ります)。 Excel住所録のデータは編集できません。また、Wordの方の問題だと思うので、Word側で対応したいです。どうすれば、2重表示を止めることができるでしょうか。

  • ワードで画像を自動で挿入する方法

    ワード2000を使用しています。フォルダにgif画像が200個程入っており(ファイル名は毎回変わります)、これをワードに1つずつ画像を挿入する作業をしているのですが、自動で処理するようなフリーソフトや方法があれば教えて下さい。出来れば挿入したファイル名も表示されるとうれしいのですが・・ 宜しくお願い致します。

  • Word2003にてファイルの挿入から範囲(Excelが読み込めない)

    Word2003で質問があります。 [挿入]→[ファイル]とすると、「ファイルの挿入」画面が出てきて、ここから他Wordファイルの範囲(ブックマーク箇所)を取り込むことができるのですが、Excelの範囲を取り入れることができません。 『挿入する範囲をブック名または、Microsoft Excelのセル範囲で指定してください。』 とメッセージが出ていますが、Excelのセル範囲に名前等を入力しても読み込むことができません。 どなたか教えてください。 ※この方法でExcelのとある指定範囲を読み込まなくてもよいのですが、上記の操作からできるのか気になっているのでお願いします。

  • Word:文書ファイルを開くたび、末尾に自動的に日付を挿入したい

    ご覧いただきありがとうございます。 Wordでマクロを使い、文書ファイルを開くたびにカーソルが文書末尾に飛んで、その位置にファイルを開いた日の日付が挿入されるようにしたいと思っています(Windows付属のメモ帳で、先頭行に.LOGと書いたファイルを編集するときのようなイメージです)。 Webで調べたところ、カーソルを末尾に飛ばすには、ThisDocumentに  Private Sub Document_Open()   Selection.EndKey Unit:=wdStory  End Sub と登録すればよいことがわかりました。また、手動でマクロを呼び出して日付を挿入するなら、  Private Sub AddFieldAsConst(Field As String)   With Selection    .Fields.Add(Range:=.Range, Type:=wdFieldEmpty, Text:=Field).Unlink   End With  End Sub  Public Sub AddDate()   AddFieldAsConst "TIME \@ ""ggge年M月d日(aaa)"" "  End Sub というコードを標準モジュールに登録すればよいということもわかりました。 しかし、これらのコードをどのようにいじれば日付の挿入が自動で行われるのかがわかりません。 どなたかおわかりになられる方、ご教授よろしくお願いいたします。 なお、OSおよびソフトのバージョンは、WindowsXP + Word2002です。

  • word2007でヘッダーにファイル名をいれたい

    word2007文書でヘッダーにその文書のファイル名を自動で挿入する方法を教えてください。2003までと随分と操作が変わってしまって面くらってます。

  • Ms Word 写真挿入

    Ms Word 写真挿入 仕事で2000枚ほど写真を撮りましたが これをワードの各ページに1枚づつ張り付けて、撮った写真(jpeg)の解説を作成しなければなりません ワード2007のVBAなどで以下のことはできないものでしょうか? (1)写真フォルダからワードへ一括挿入又は写真を指定してワードへ挿入 (2)挿入の際に写真の縦横比を同一で、%をある程度指定してリサイズ (3)ワード1ページごと、かつ指定の場所に挿入 (4)ワードへの挿入のさい写真ファイルの”アンカー”を解除 とにかく2000枚も貼りつけるという単純作業のため少しでも作業量が減らせればと思っております どなたかよい解決方法があればご教示願います。

  • Word文書にweb画像を挿入したいのですがエラーが出ます

    Web上で公開されている画像をWord(バージョン・2002 SP-1、OSはWindows XPです)に挿入しようとしているのですがエラーメッセージが出て挿入できません。どなたか解決方法を教えていただけますでしょうか。行った操作および状況は以下の通りです。 1. Web上の画像をデスクトップに新しい画像ファイルとして保存 2. Wordの「挿入」→「図」→「ファイル」からデスクトップに保存したファイルを選択 3. 変換元のファイル形式を問う「ファイルの変換」というBOXが開き、10数種のファイル形式が選択肢として表示される。 4. 変換元ファイルはjpeg形式なので「JPEG形式」を選択して「OK」ボタンを押すと「ファイルのインポート中にエラーが発生しました」のメッセージが表示される。 Web画像をpaintにとりこんでその画像を挿入してみようと試みましたが、paintへのとりこみ時にも「このファイルは読み取れません。このビットマットファイルは無効であるか、現在サポートされていない形式です」とのメッセージが出てとりこみに失敗しました。 ちなみに「マイピクチャ」に保存されている画像は問題なく挿入できます。

  • WORDにEXCELの一部のセルを挿入したい。

    WORD文書にEXCELの特定の範囲の部分を挿入したいと考えています。 HELPを見ましたが、説明がよくわかりませんでした。 HELP <作業中の文書に別のファイルを挿入する > 別の文書を挿入する位置をクリックします。 [挿入] メニューの [ファイルの挿入] をクリックします。 [ファイル名] ボックスに挿入するファイルの名前を入力するか、目的のファイルまで移動して選択します。 ・文書の一部だけを挿入するには、[範囲] をクリックし、[範囲] ボックスにブックマーク名を入力します。 ・この場合、挿入する文書にはブックマーク (ブックマーク : 参照先やリンク先を示す名前付き情報。ファイル内の任意の位置や選択文字列にブックマークを設定することができます。)が設定されている必要があります。 ・Excel のワークシートの一部だけを挿入するには、[範囲] をクリックし、[範囲] ボックスにセル (セル : ワークシートまたは表の中の行と列で囲まれる四角形のこと。この中に情報を入力します。)範囲を入力します。 (質問1) ブックマークの仕方がわかりません。 (質問2) セル範囲を入力するとのことですが、セル範囲は、どのように入力するのでしょうか? range("A1:H5")のように入力するのでしょうか? どのようにしたら、EXCELの特定の範囲の部分を挿入できるかご教示ください。

  • ワードやエクセルに画像ファイルを挿入するとき、「図の挿入」から挿入した

    ワードやエクセルに画像ファイルを挿入するとき、「図の挿入」から挿入したい画像を保存しているフォルダから挿入しますよね。そして、この作業を繰り返す場合、「挿入」「図」「ファイルから」を選択すると、前回挿入したファイルのあるフォルダに行くはずなのですが、ある時から毎回C:\program files\microsoft Office\Office12に行くようになりました。そこから毎回挿入したい画像を保存しているフォルダまで行かなければいけないので面倒なことになっています。その原因と解決法を、どなたかご存知でしょうか

このQ&Aのポイント
  • 印刷ができないと表示されるが、エラー表示はない。プリンターが動き出すがすぐに止まる。印刷キューをキャンセルしても削除中のまま。ドライバーをアンインストールしても改善せず。
  • 昨日までは印刷できていたが、突然印刷できなくなった。プリンターエラーを解消する方法を教えてほしい。
  • お使いのプリンターが印刷できない原因は様々。印刷キューやドライバーの問題が考えられる。対処法を試してみてください。
回答を見る

専門家に質問してみよう