いままで問題なく動いていたVBAが標記のようなメッセージをだして動かなくなりました。
ネットで調べるとDecareにPtrSateを付加すれば良いとのことです。
ところがソースにはDecareステートメントはありません。
どうすればよろしいでしょうか、ご教示ください。
なお赤字で
Declare Function BeepAPI Lib "kernel32.dll" Alias "Beep" _
(ByVal dwFreq As Long, ByVal dwDuration As Long) As Long
というメッセージもエディタに表示されています。
OSは windows10Pro64ビット
Excelは Microsoft 365 mosです。
No.4
- 回答日時:
Declare Function BeepAPI Lib "kernel32.dll" Alias "Beep" _
(ByVal dwFreq As Long, ByVal dwDuration As Long) As Long
上の2行を単なる赤いメッセージと勘違いされていらっしゃいますが、Windows API の関数に接続するために記述された列記としたコードなのです。プロシージャ内で使われる API関数のコードと密接な関わりを持っている重曹なコードです。そして Decare ステートメントではなく、Declare ステートメントになります。
Declare ステートメント (VBA) | Microsoft Docs
https://docs.microsoft.com/ja-jp/office/vba/lang …
モジュールレベルで記述する決まりなので、プロシージャの上に記述されています。赤く表示されているのは、コンパイルエラーの箇所が赤く強調されているためですが、 Declare ステートメントは Excel を 32bit版 から 64bit版 に変更したら書き換える必要があります。
Beep関数(プロシージャ内では BeepAPI と記述されているはずです)に接続するコードは、以下のように修正すればコンパイルエラーは解消されます。
Declare PtrSafe Function BeepAPI Lib "kernel32.dll" Alias "Beep" _
(ByVal dwFreq As Long, ByVal dwDuration As Long) As Long
【参考まで】
Beep 関数 - Win32apps | Microsoft Docs(英語)
https://docs.microsoft.com/ja-jp/windows/win32/a …
ご教示ありがとうございます。
>Declare ステートメントは Excel を 32bit版 から 64bit版 に変更したら
>書き換える必要があります。
そのようですね。
ただDeclareステートメントは全く使用していないのです。
というより、私自身が初心者ですのでDeclareステートメントがあるということを今回初めて知りました。
エラーメッセージの画像などを職場にいったときにとるようにします。
引き続きご教示よろしくお願いします。
No.3
- 回答日時:
#2です。
>VBAエディタの上部に赤色で表示されており、エディタでは修正できません。
そうなんですね。コードウィンドに表示されているのではないのですね。
VBEは表示されているのですか?
既に行っていると思いますが、一応、念のため
Alt+F11でVBEを開き
編集タグ、検索 検索する文字に Declare 対象のオプションボタンを
カレント プロジェクト で 次を検索を押して検索してみてください。
もし見つからない場合は、プロジェクトウィンドウにある違うプロジェクトでも探してみてください。
(アドインや個人用マクロブックPERSONAL.XLSBの可能性があります)
他のプロジェクトに保護などが設定されている場合、修正が難しいので、最新のものに変えるか、使用を外す事になると思います。
>いままで問題なく動いていた
との事なので最近入れたアドインの可能性もありますね。64bitに対応していないものを入れたとか、、です。
上記に当てはまる事柄がなく解決できない場合は、
私が回答できるか分かりませんが、画像を掲示されるとわかり易いと思います。
簡単な画像作成手順
Shift+Windowsキー+Sキー で Window表示範囲を選択
画像ソフトの新規キャンパスにペースト、必要に応じて加工し画像保存、 画像添付でUP
あと、最近疎くてごめんなさい。
Microsoft 365 mos ってどのバージョン?
くりかえしのご教示ありがとうございます。
職場に行くのが不定期なのですが、今週中にいって画像をアップするようにします。
>アドインや個人用マクロブックPERSONAL.XLSBの可能性があります
職場でVBAを作成できるのは私ひとりですので、この可能性はないと思います。
No.2
- 回答日時:
ごめんなさい。
ご質問文読み間違えました。#1忘れてください。
>ソースにはDecareステートメントはありません。
>メッセージもエディタに表示されています。
エディタのどこに表示されているのでしょう?
その表示?(デバッグ)? を書き換えられるなら、
#If VBA7 And Win64 Then
Private Declare PtrSafe Function BeepAPI Lib "kernel32.dll" Alias "Beep" _
(ByVal dwFreq As LongPtr, ByVal dwDuration As LongPtr) As Long
#Else
Private Declare Function BeepAPI Lib "kernel32.dll" Alias "Beep" _
(ByVal dwFreq As Long, ByVal dwDuration As Long) As Long
#End If
環境がそろっていないので検証していません。
早速のご教示ありがとうございます。
>エディタのどこに表示されているのでしょう?
>その表示?(デバッグ)? を書き換えられるなら、
Declare Function BeepAPI Lib "kernel32.dll" Alias "Beep" _
(ByVal dwFreq As Long, ByVal dwDuration As Long) As Long
↑
VBAエディタの上部に赤色で表示されており、エディタでは修正できません。
No.1
- 回答日時:
こんばんは、
違ってらごめんなさいね。
Declare PtrSafe Function ・・・で解消されますでしょうか?
ちゃんと確認していないので、参考サイトを
https://excel-databace.hatenablog.com/entry/64bi …
早速のご教示ありがとうございます。
>Declare PtrSafe Function
これで解消されると思うのですが、そもそもソースにDeclareという単語がありません。ですのでどう追加すれば良いのかがわからないのです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Vba Userformを前面に出すについて 3 2022/04/15 12:29
- Visual Basic(VBA) Vba LongPtrについて教えてください 2 2022/08/19 11:14
- Visual Basic(VBA) VBA リボンののリカバリーでオーバーフローエラーになります 2 2023/07/04 19:07
- Excel(エクセル) 【マクロ】スクショ印刷がうまく動かない件 5 2022/12/06 17:37
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Visual Basic(VBA) Vbaで数式をポーランド記法に変換するコードを作って実行しようとするとフリーズします。 1 2022/05/24 17:53
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Excel(エクセル) excel vba 参照渡しと値渡し 2 2022/04/27 10:45
- Visual Basic(VBA) VBAでfunctionを利用しようとしたときに「引数は省略できません」というエラーが出ます 1 2022/10/15 16:30
- Excel(エクセル) 【VBA】 Alt+PrintScreenにてアクティブウィンドウのスクショを貼付する方法 4 2022/12/08 20:53
このQ&Aを見た人はこんなQ&Aも見ています
-
カンパ〜イ!←最初の1杯目、なに頼む?
飲み会で最初に頼む1杯、自由に頼むとしたら何を頼みますか? 最初はビールという縛りは無しにして、好きなものを飲むとしたら何を飲みたいですか。
-
家・車以外で、人生で一番奮発した買い物
どんなものにお金をかけるかは人それぞれの価値観ですが、 誰もが一度は清水の舞台から飛び降りる覚悟で、ちょっと贅沢な買い物をしたことがあるはず。
-
忘れられない激○○料理
これまでに食べたもののなかで、もっとも「激○○」だった料理を教えて下さい。 激辛、でも激甘でも。 激ウマ、でも激マズでも。
-
いけず言葉しりとり
はんなりと心にダメージを与える「いけず言葉」でしりとりをしましょう。 「あ」あら〜しゃれた服着てはりますな 遠くからでもわかりましたわ
-
お風呂の温度、何℃にしてますか?
みなさん、家のお風呂って何℃で入ってますか? ぬるめのお湯にゆったり…という方もいれば、熱いのが好き!という方もいるかと思います。 我が家は平均的(?)な42℃設定なのですが、みなさんのご家庭では何℃に設定していますか?
-
エクセルで音を鳴らしたい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
IMGタグでTIFF画像を表示
-
画像クリックでクリップボード...
-
「DecareステートメントにPtrSa...
-
タイトルバーに画像を入れるHTM...
-
ボタンを押したままにする。
-
フォルダ内の画像をウェブでラ...
-
クリックしても、リンクに飛ば...
-
[twip]から[pixel]への変換
-
リンク先にしているページを小...
-
拡張子無しで画像を表示したいです
-
バナーの貼り方とバナーにリン...
-
スライドショーの上にロゴマー...
-
カメラで撮影した画像をOpenGL...
-
HTMLでアイコン表示?
-
HTMLにQRコードを挿入する方法
-
画像欄にバツ印が・・・
-
pngやjsの後ろの英数字の意味は...
-
画像がテーブル内に収まらない
-
Objectタグでgifを載せようとし...
-
アルバムをめくるように、画像...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
IMGタグでTIFF画像を表示
-
クリックしても、リンクに飛ば...
-
HTMLにQRコードを挿入する方法
-
ボタンを押したままにする。
-
スライドショーの上にロゴマー...
-
画像クリックでクリップボード...
-
背景が透明なリンクボタンで、...
-
form以外でのpostってできますか?
-
pngやjsの後ろの英数字の意味は...
-
クリッカブルMAP領域が分かる様...
-
スマホで、画像をクリックする...
-
期間ごとに画像表示を切り替え...
-
バナーの貼り方とバナーにリン...
-
HTML上の画像を結合する方法が...
-
タイトルバーに画像を入れるHTM...
-
予約語の表示について
-
アドレスがあっているのにバナ...
-
画像欄にバツ印が・・・
-
<area></area> 部分にボーダー...
-
元々あるファビコンが消えない
おすすめ情報