人生でいちばんスベッた瞬間

いつもお世話になります

今、ExcelからDocuworksの操作を与えられた関数から仕事をしています
  rc = XDW_GetDocumentNameInBinder(lngHandle, k, fName(0), Ksize, vbNullString)

バインダーファイルからファイル名を取得するのですが、正常値はそのバイト数が得られますが
ファイル名がなくなるとエラーコードとなります

そのエラーコードで質問ですが
Excel32ビット版の時は、-2147xxxxxxと負の値だったので
 if RC < 0 Then Exit Sub チェックできたのですが
Excel64ビット版では正の値で 2147xxxxxxxで出てくるのでそのあとに
 if Abs(RC) > 2147000000 Then Exit Sub としました

そこで、これ良いのかな? っと思っています
また環境が変わっても使えそうなものが他にあるような気がして相談してみました

以上、何か良いと思うものが有ったら教えてください
以上、宜しくお願い致します

A 回答 (1件)

    • good
    • 0
この回答へのお礼

ありがとうございました

XDW_GetDocumentNameInBinderの返り値を32bitのLongに戻して
負の値を得るようにしました(邪道かどうかは分かりませんが)
プログラム内にもコメントつけて、後々まで分かるようにしておきました

これからもよろしくお願いいたします

お礼日時:2024/12/16 14:51

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A