ImmGetContextというDLL関係の関数をOfficeで使っています。
32bitから64bitにアップデートしてから定義を変えたら、
コンパイルエラーが起きました。
「型が一致しません」
宣言の仕方は以下の通りです。
Private Declare PtrSafe Function ImmGetContext Lib _
"imm32.dll" (ByVal hwnd As LongPtr) As LongPtr
どうすればコンパイルエラーが起きないように
正常に実行できるでしょうか?
ご存知の方、教えてください。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
ImmGetContext 関数の宣言の記述は64bit用になっていますが、プロシージャ内での各関数の引数と戻り値のデータ型は、各関数の宣言通りの型になっていますか?
異なる箇所が有れば、そこが原因だと考えられますがいかがでしょうか?
宣言内容と使用箇所は一体不可分なので、定義のデータ型を変えたら、同時に使用する箇所も定義に合わせてデータ型を変えなければデータ型の不一致が起きます。
No.1
- 回答日時:
こんにちは
初めからこんなこと書いてごめんなさい
私には原因が分かりませんが、
このAPIは Office365 64ビット版 では動作しない旨の情報がありますね
検証していませんので確度の高い情報とは言えませんが
代替えとしてPhonetic関数を使用する例がありましたが、
使用用途が分からないので出来るのかわかりません。
dllについては
こちらのサイトが参考になるかも知れません。
https://www.exefiles.com/ja/dll/imm32-dll/
API、DLL、組み込み関数、組み込みメソッド、オブジェクト構造などは
バージョン変更などで影響を受ける可能性がありますよね。
2010 2013 2016、への移行時 無駄に時間を使った記憶があります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Vba LongPtrについて教えてください 2 2022/08/19 11:14
- Access(アクセス) Vba Userformを前面に出すについて 3 2022/04/15 12:29
- Access(アクセス) こんにちは。Accessのことで教えてください。M365環境で、Private Declare Fu 1 2023/01/09 14:59
- Visual Basic(VBA) パーソナルXLSBのfuctionを呼び出すと「Functionが定義されていません」のエラーになる 2 2022/08/22 22:51
- Excel(エクセル) エクセル 「実行時エラー"13":型が一致しません。」エラーについて 5 2022/05/04 10:46
- Excel(エクセル) 【VBA】PDF作成のコードでコンパイルエラーになってしまいます。 10 2023/02/07 19:11
- Visual Basic(VBA) 数字が「0」の列を削除するため、下記のコードを実行しましたが、コンパイルエラーSubまたはFunct 3 2022/12/04 00:00
- C言語・C++・C# ExcelCS 1 2023/01/27 19:47
- Excel(エクセル) 【マクロ】スクショ印刷がうまく動かない件 5 2022/12/06 17:37
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る EXEの実行内容の結果によって、戻り値を0か1かで返したい 1 2023/07/04 16:40
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB6.0(SP6)にて開発を行なって...
-
指定された引数が有効範囲にな...
-
res://ieframe.dll/について
-
Excel2007のVBAで、セル範囲を...
-
VB6 - DLLの動的リンクの方法に...
-
visual studioの不要なDll削除方法
-
ファイルをvbaで圧縮したいので...
-
ASP.NETのDLL入れ替えについて
-
C# ネット上に公開されているFF...
-
M365にアップデートしてからコ...
-
shell32.dll のアイコンを使っ...
-
about:blankの削除したいのです...
-
python エラー
-
エクセルのエラーメッセージ「4...
-
<math.h>があるのにsqrtが・...
-
<unistd.h>をVisualStudioでつ...
-
C言語をコンパイルするとコンピ...
-
unsigned long long 型のフォー...
-
VBAを何回も作り直して、容量が...
-
適切な変換関数が存在しない???
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
M365にアップデートしてからコ...
-
C# DLL エントリ ポイントが...
-
visual studioの不要なDll削除方法
-
res://ieframe.dll/について
-
ASP.NETのDLL入れ替えについて
-
C++製DLLにてVB.NET関数を引数...
-
VB6.0(SP6)にて開発を行なって...
-
ファイルをvbaで圧縮したいので...
-
WIN10で常にフォームを手前に
-
VB.NET xdoc2txtをつかってPDF...
-
VC++6.0 でのライブラリ参照方法
-
VB2003で レジストリを格納する
-
user32.dllがないためアプリが...
-
エクセル マクロで指定フォルダ...
-
vb6で作成した画面が処理に時間...
-
VBAエディタのコード画面で、カ...
-
[VBA]64b版-行数表示.dllの登録...
-
指定された引数が有効範囲にな...
-
Java hs_err_pid0000.log解析
-
メイクファイルからdllを生成す...
おすすめ情報