none
実行時エラー '-2147023672 (800704c8)について RRS feed

  • 質問

  • こんにちは、初投稿です。質問をさせていただきます。

    WordからVBAを実行し、テキストファイルを出力する処理なのですが
    Windows7(64bit版)+Word2010(32bit版)では問題なく稼動していました。が、
    Windows7(32bit版)+Word2010(32bit版)でマクロ実行時にエラーとなってしまいます。

    エラーメッセージ:
    Microsoft visual Basic
    実行時エラー '-2147023672 (800704c8)':
    'CreateTextFile'メゾットは失敗しました: 'IFileSystem3' オブジェクト

    VBAの下記の箇所でエラーとなってしまいます。
        Dim Fso, ts As Object
        Set Fso = CreateObject("Scripting.FileSystemObject")
        Set ts = Fso.CreateTextFile(fpath, True) ←----- ここでエラー

        'fpathの中身は、"C:\Users\00262\Desktop\D_PT_6.txt"

    ちなみに同じ記述をしているが正常に稼動するPCもあり、原因がわかりません。
    アドバイスいただけると助かります。よろしくお願いします。

    2018年12月5日 1:36

回答

  • > 実行時エラー '-2147023672 (800704c8)':

    0x800704c8 の Facility は 0x007 だから、0x04c8 は Win32 Error Code を示している。
    0x04c8 は 10 進数の 1224 だから、つまり 0x800704c8 は Win32 Error Code の ERROR_USER_MAPPED_FILE。

    もしかしたら、作成対象のファイルが Memory Mapped File として既にオープンされているので、アクセスが拒否されたのかも。
    "Process Monitor" というツールを使って、そのエラーが発生する直前に "C:\Users\00262\Desktop\D_PT_6.txt" のファイルにアクセスしているモジュールを調べてみれば、原因を特定できるかもしれません。
    2018年12月5日 5:42

すべての返信

  • > 実行時エラー '-2147023672 (800704c8)':

    0x800704c8 の Facility は 0x007 だから、0x04c8 は Win32 Error Code を示している。
    0x04c8 は 10 進数の 1224 だから、つまり 0x800704c8 は Win32 Error Code の ERROR_USER_MAPPED_FILE。

    もしかしたら、作成対象のファイルが Memory Mapped File として既にオープンされているので、アクセスが拒否されたのかも。
    "Process Monitor" というツールを使って、そのエラーが発生する直前に "C:\Users\00262\Desktop\D_PT_6.txt" のファイルにアクセスしているモジュールを調べてみれば、原因を特定できるかもしれません。
    2018年12月5日 5:42
  • 参考になりました。ありがとうございました。
    2018年12月5日 10:56