次の方法で共有

マクロを使ってワードのファイルが開けません__「指定されたファイルが開けません」のエラーメッセージが出ます

Anonymous
2010-04-07T04:07:10+00:00

エクセル2003でワードファイルを開き、そのページ数をカウントしてファイル名が入ったセルの隣にページ数を入れるマクロを作成したのですが、順番に3つ位は動くのですが上記のエラーメッセージが出てしまい、止まってしまいます。ファイル名の作成方法は同じでなのでなぜファイルが開けなくなるのかわかりません。

N列にディレクトリ1:C:\Documents and Settings\Administrator\デスクトップ\フォルダ1(\は¥マークです。以下同じ)

O列にディレクトリ2:\フォルダ2

P列にディレクトリ3:\フォルダ3

Q列にディレクトリ4:\フォルダ4

R列にファイル名:\aaa.doc

S列にファイル名(式):=A列&B列&C列&D列&E列

<マクロ>

Dim MyWD As Object

Dim i As Integer

    '19列目(S列)の最後まで行数をカウント

    For i = 1 To Cells(Rows.Count, 19).End(xlUp).Row

    Cells(5 + i, 19).Select

    Selection.Copy

    Cells(5 + i, 21).Select

    Selection.PasteSpecial Paste:=xlPasteValues

    Set MyWD = CreateObject("Word.Application")

  Application.ScreenUpdating = False

        If (Trim(Cells(5 + i, 21).Value) <> "") Then

            MyWD.Documents.Open Filename:=Cells(5 + i, 21).Value, ReadOnly:=True

            Cells(5 + i, 22) = MyWD.activedocument.BuiltinDocumentProperties("Number of Pages")

            MyWD.activedocument.Close SaveChanges:=0

        End If

    Next i

  Application.ScreenUpdating = True

End Sub

このマクロの結果

U列に値コピペされたアドレス名が入りV列にカウントされたページ数が入るのですが、標記のエラーメッセージが出て止まってしまいます。

ファイル名には「ローマ数字」「-」「[1]」のような文字も含まれていますが全てのファイルに含まれており、最初の方は問題なく開いています。開くファイルと開かないファイルの境目はQ列にディレクトリ名が有るか無いかです。因みに開かないファイル名にはQ列にディレクトリ名があります。

このマクロをきれいに動くようにするにはどうすればよいのでしょうか。ご教示願えれば幸いです。

開発者テクノロジ | Visual Basic for Applications

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2010-04-07T06:52:20+00:00

> 「5」というのは6行目からスタートさせるために入れたものですが、やはり1行目からスタートさせないといけないのでしょうか?

いいえ、そういうことなら大丈夫だとおもいます。

ひとつ試してほしいのですが

「スタートメニュー」→「ファイル名を指定して実行」でダイアログを開き、

エラーが出る行のU列に書かれたパスをコピーペーストして

Word ファイルが開けますか?

マクロ実行時と同じように開けないのであれば

マクロの問題でないことがわかります。

この回答は役に立ちましたか?

2 人がこの回答が役に立ったと思いました。
0 件のコメント コメントはありません

7 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2010-04-07T07:36:51+00:00

    注釈)このスレッドをご覧になった皆様へ

    この返信は、いったん投稿→エラーになり、リロードしたら質問者様ご自身でわかられたようなのでそのあとは投稿しなかったように記憶しています。

    いま投稿が有効だったことに気がつきましたので、レスの内容の流れがおかしいので、この注釈を書きました。ご注意ください。


    > なぜ「ファイル名.doc.doc」で開くのでしょうか?

    うーん、ファイル名が本当に「~.doc.doc」となっているとか。。

    エクスプローラーだとデフォルトの表示設定が「拡張子を表示しない」設定になっているため

    そのような問題が起きてしまうことがときどきあります。

    ↓とりあえず設定を確認してみるとよいかと。

    Windowsのエクスプローラーで拡張子の表示を行うための設定

    http://blog.ddc.co.jp/mt/dtp/archives/20060720/180756.html

    「拡張子ってなんなの?」って疑問に思ったら↓が参考になるとおもいます。

    ファイルの拡張子を知ろう

    http://webcache.googleusercontent.com/search?q=cache:klE07xzxIUsJ:kedu.kenet.ed.jp/hp/tips/tips005.doc+%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E5%90%8D%22.doc.doc%22&cd=4&hl=ja&ct=clnk&gl=jp

    上記のケースにあてはまらない場合だと、、、

    わからないので今しばらく考えてみたいとおもいます。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  2. Anonymous
    2010-04-07T07:13:48+00:00

    「スタートメニュー」→「ファイル名を指定して実行」のダイアログでパスをコピペして開こうとすると、

    「'C¥Documents'が見つかりません。名前を正しく入力してから、やり直してください。ファイルを検索するには、スタートボタンをクリックしてから、検索をクリックしてください」というメッセージが出ました。

    その時にダイアログボックスに出てくるファイル名を選択すると、C:\Documents and Settings\Administrator\デスクトップ\フォルダ1\フォルダ2\フォルダ3\フォルダ4\ファイル名.doc.doc と表示され、OKをクリックするとファイルが開けました。

    わかりました。

    止まってしまうファイル名に「.doc」が付いており、拡張子と勘違いしていたからでした。

    ありがとうございました。

    教えていただいた方法で確認することができるとわかり勉強になりました。

    お手を煩わせて申し訳ありませんでした。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  3. Anonymous
    2010-04-07T06:19:34+00:00

    早速ご回答いただき、ありがとうございます。

    「5」というのは6行目からスタートさせるために入れたものですが、やはり1行目からスタートさせないといけないのでしょうか?

    今、5を消して1行目からスタートするようにテスト版を作って動かしたのですが、質問時と同じところで「実行時エラー5174 ファイルが見つかりません。次の操作を行ってください:ファイル名を確認してください」のエラーメッセージが出て、デバッグをクリックすると

    「MyWD.Documents.Open Filename:=Cells(i, 21).Value, ReadOnly:=True」の箇所がハイライトされています。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  4. Anonymous
    2010-04-07T06:03:00+00:00

    マクロのあちこちに書いてある「5 + i」の 5 とはなんでしょう?

    すべて消したら正常動作しました

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません