« 【再改良】フォルダ中のすべてのワードファイルの内容をコピペする | トップページ | クイックソートを用いてアルファベットの文字列を並び替え »

2009年11月14日 (土)

【再再改良】フォルダ中のすべてのワードファイルの内容をコピペする

さっそく、とんちんかんさんからいただいたファイルをご紹介します。

「copy_paste_4.dot」をダウンロード (ワード2003用)
「copy_paste_4_2007.dot」をダウンロード (ワード2007用)

とんちんかんさん、どうもありがとうございました。

使い方やインストール方法や改良の経緯は、下記をご覧ください。

2009/11/11 【再改良】フォルダ中のすべてのワードファイルの内容をコピペする

2009/06/06 【改良】フォルダ中のすべてのワードファイルの内容をコピペする

2009/05/23 フォルダ中のすべてのワードファイルの内容をコピペする

▼使うための設定
こちらを参考にして、Microsoft Scripting Runtimeをオンにしてください。

今回のマクロでは、ファイルシステムオブジェクトを使っています。

word2007に対応しなくなったFileSearch メソッドをファイルシステムオブジェクト
を用いて定義しているからです。

細かいことは、できる大辞典 Excel VBAの485ページをご覧ください。

実は、私、ファイルシステムオブジェクトについてよくわかっておりません。

▼留意点
パソコンのセキュリティ設定によっては、スクリプトの書き込みの
警告メッセージが出ることがあると思いますが、
疑わしい設定ではなく、意図的に行っております。

Copypaste4

上の画像は、私のパソコンにインストールしてある
ウィルスセキュリティが反応して警告メッセージを
表示した状態を示します。

この状態で、「すべて許可」、「今回は許可」の
いずれをクリックしても問題はないと思います。

対処方法は、ウィルスセキュリティの公式サイトをご覧ください。

なお、「停止」をクリックすると、マクロが終了します。

これは、Private Sub FileSearch2007_Repeatのマクロの
エラー時の処理 err = 438 に対応しています。

▼このファイルの特徴
1.Word2007で動きます
2.指定フォルダのサブフォルダまで『ワードファイル』を探し続けます。
  (サブフォルダ検索の要否はメッセージボックスで選択可)
3.読み取り専用設定ファイルを閉じるときの確認メッセージが表示
  されないようにしました。
4.すべてのファイルを読み取り専用で開きます。
  (内容の変更がないように、念のため。)

▼用途
フォルダに保存された複数のファイルを表示する必要がある場合に、
非常に重宝します。

100個くらいファイルがあると、クリックして開くだけでも
時間がかかります。

また、フォルダが複数ある場合には、余計手間ですね。

このマクロを作成した今年の5月の時点では、特定の用途は
想定しておりませんでした。

このたび、とんちんかんさんが業務にてご活用されていることを
教えていただき、非常にうれしく思います。

▼工夫
Word2007では、FileSearch メソッドが機能しないようです。
とんちんかんさんが、いろいろと調べて、それに対応する
word2007版の方法を作成してくれました。

Functionとして定義しています。

実は、難しくて、自分では理解できていませんが、
ひとまず動くので紹介します。

おそらくとんちんかんさんが参照されたページはこちらです。

とんちんかんさんからいただいたプログラム文に、私が
多少手を加えて、サブフォルダまでファイルを取りにいくのか否か
の選択ができるようにしました。

誤動作がある場合はご連絡ください。

とりあえず、word2007の運転確認は私はできないのですが、
おそらく動くだろうと思うファイルを公開しています。

▼ワードのバージョンにあわせた修正方法
Sub コピペ_2003_2007()のマクロの190行目を変更することで、
word2007とword2003とを切替えています。

要は、ワード文書の拡張子を切替えているんですね。

|

« 【再改良】フォルダ中のすべてのワードファイルの内容をコピペする | トップページ | クイックソートを用いてアルファベットの文字列を並び替え »

▼ファイル統合」カテゴリの記事

コメント

すごーい。
いま、見ました。
改良してくれているぅ~。
ありがとうございました。
さっそくダウンロードしました。
2007で動くか試してみま~す。

投稿: とんちんかん | 2009年11月16日 (月) 12時11分

大丈夫です!2007で動きます!
しかも、便利ですね。
サブフォルダまで結合するか否かの選択は!!
感激です!
本当にありがとうございました。

投稿: とんちんかん | 2009年11月18日 (水) 20時30分

とんちんかんさん。

どうも、試運転までありがとうございました。
また何かご要望があればご連絡ください。

おかげ様で、ファイル操作についていろいろと
勉強になりました。

投稿: 管理人 | 2009年11月20日 (金) 00時21分

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/519619/46762933

この記事へのトラックバック一覧です: 【再再改良】フォルダ中のすべてのワードファイルの内容をコピペする:

« 【再改良】フォルダ中のすべてのワードファイルの内容をコピペする | トップページ | クイックソートを用いてアルファベットの文字列を並び替え »