none
ExcelVBA LoadPicture関数利用時の実行時エラーについて RRS feed

  • 質問

  • ExcelVBAにてLoadPicture関数利用時、
    実行時エラー:'75'(パス名が無効です)
    というエラーが発生してしまいます。

    原因を探っていくと、

    LoadPicture(FullPath)

    のFullPathの文字数99文字を超えると「実行時エラー:'75'」が発生してしまうようでした。
    ただ、他PCにてVBAを実行すると、FullPathが99文字超えても
    「実行時エラー:'75'」が発生しませんでした。


    自分のPCのみ、FullPathが「99文字」を超えると、
    「実行時エラー:'75'」が発生してしまいます。
    現在、99文字を超えないフルパスで運用しております。

    他のPCと同じようにエラーが発生しないように、解消させたいと考えております。
    インターネットにて、同様のエラーが発生しているか、
    このコミュニティに同様の症状と回答があるかどうかを検索しましたが、
    原因の解消法が見つかりませんでした。


    どなたか、同じ原因で解消された方がいましたら、
    解消法をお教え願いますでしょうか。


    ●PC環境

    -------------------------------

    CPU:AMD Ryzen 7 3700X 3.6GHz
    メモリ:16GB
    SSD:NVMe M.2 SSD 500GB
    OS:Windows10 Pro
    OSバージョン:1903
    OSビルド:18362.239

    Office:Office365 ProPlus
    バージョン:1902
    ビルド:11328.20368(半期チャネル)

    -------------------------------

    Office365アプリケーションの修復や
    Office365のアンインストール→再インストールを行いましたが
    現象が改善されませんでした。
    2019年8月13日 9:05

すべての返信

  • 他PCにて検証等を行ったところ、
    WIndows10のOSバージョンが「1903」がインストールされているPCのみ
    LoadPicture関数利用時、パスが100文字以上の時に

    「実行時エラー:'75'」が発生しておりました。

    他、CopyFileステートメント(FileCopy コピー元, コピー先)、
    Nameステートメント(Name リネーム元 AS リネーム後)、
    Killステートメント(Kill FullPath)、MkDirやRmDir等は問題無く、
    なぜか「LoadPicture」関数利用時のみ、100文字制限が発生してしまいます。

    2019年8月13日 9:45
  • そこまで検証されて発生要因まで特定できたのであれば、一時的もしくは永続的な不具合として諦めるしかないと思います。

    回避策として、該当ファイルを CopyFileにて短いパスの別フォルダにコピーしてから LoadPictureしてはどうでしょうか。

    2019年8月13日 13:51
  • minmin312様

    ご返信いただき、ありがとうございました。

    Excel資料に貼付を行うために
    写真から縦横サイズを取得したかったのですが…

    画像ファイルをバイナリで読み込んで、
    Exif情報から縦横サイズを取得する方法と
    Exif情報が取得できない場合は、100文字を超えるフォルダ文字部分を
    FileSystemObjectのShortPathプロパティを使って、
    パス名を短くし、LoadPicture関数を使って縦横サイズを取得することにしました。


    2019年8月13日 15:53