
タイトルの通り、これまでAccess2016環境で動作できていたVBAがM365環境ではエラー発生により、動作できなくなりました。
具体的には、以下構文になるのですがどのように修正すればよいかをアドバイスください。
Private Declare Function GetOpenFileName Lib "XXX.dll" Alias "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long
当方の実施した処置としては、Declareの後にPtrsafeを挿入し実行してみたのですが、今度はファイルダイアログ自体が開かなくなった為、他の対応が必要なのではと考えています。現時点では、GetOpenFileの構文→FileDialogと、構文をより一般的なものへ変更するというのを一案として考えています。
つきましては、以下アドバイスをください。
(1)そもそも上記構文をM365環境で動作させるにはどのようにVBA修正すればよさそうでしょうか
(2)修正案として、当方提案内容(GetOpenFileの構文→FileDialogへ変更)が妥当である場合、どのように構文変更するのがよさそうでしょうか。
(1)のみ、(2)のみの回答でも構いません。
何かしらアドバイスを頂けるとたすかります。よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
こんにちは
365環境というよりも、VBA7に変わったか、64bitに変わったか(あるいは両方)によるものと推測します。
(何がどう変わったかは、質問者様にはわかっているはずと思います)
確か、宣言文だけでなく、引数や戻り値の型等に関しても修正が必要だったはずです。
詳しくは、以下あたりをご参照ください。
https://keirivba.hateblo.jp/entry/2017/11/03/234 …
https://www.excel-chunchun.com/entry/20200809-vb …
内容的にFileDialogで済む処理であるのなら、面倒なAPIを利用するよりもそちらで充分とも思いますが・・
https://learn.microsoft.com/ja-jp/office/vba/api …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
配列のオフセットおよび長さが...
-
TRACKER : error TRK0002:
-
Access VBA での有効なパスチェ...
-
Excel vbaでフォルダー内のppt...
-
エラー:ページにアクセスする...
-
外付けハードディスク2台をミ...
-
ASRockのLED制御が出来ない
-
特定のsteamゲームが起動前にク...
-
STEAM版BF4が起動しない
-
学校のChrome Bookのロックの解...
-
DATテープの破棄のしかたはどう...
-
換装したSSDのバックアップ
-
Windows10 バックアップで失敗...
-
DVDshrink メモリリソースが足...
-
C#にてエクセルの名前をつけて...
-
DROP BOX バックアップを削除し...
-
DDSにどんなDATテープが使えま...
-
BackupExecでのテープクリーニング
-
Linkstation(NAS) バックアッ...
-
ゲームを起動すると 外部例外...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
deleteで開放するとエラーにな...
-
配列のオフセットおよび長さが...
-
VB6.0 パスが見つかりません
-
エラー:ページにアクセスする...
-
VBA で警告音
-
pythonのモジュールのエラーの原因
-
Excel vbaでフォルダー内のppt...
-
スクリプトで通知領域にあるソ...
-
IEの操作(Busy)でエラーになる
-
Androidアプリ開発をしようとし...
-
メモリの解放
-
TRACKER : error TRK0002:
-
QVTKWidget.hの入手方法を教えて
-
エクセルのような表計算ソフトO...
-
VBからExcelが起動しません
-
Dreamweaverでテンプレートが作...
-
VBA Selenium Google Chrome 操...
-
外付けハードディスク2台をミ...
-
学校のChrome Bookのロックの解...
-
STEAM版BF4が起動しない
おすすめ情報