ユーザ用ツール

サイト用ツール


youtube:vba-dll-001

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
youtube:vba-dll-001 [2024/02/28 18:26] – 削除 - 外部編集 (不明な日付) 127.0.0.1youtube:vba-dll-001 [2024/07/12 02:39] (現在) freemikan
行 1: 行 1:
 +====== Win32 APIのMessageBox関数を呼び出す ======
  
 +作成日: 2023-08-21 (月)
 +
 +[[https://youtu.be/FdMl7wsXkOA|第1回 Win32 APIのMessageBox関数を呼び出す]]
 +
 +{{:youtube:messagebox1.png?400|MessageBox}}
 +
 +===== 標準モジュール Win32 =====
 +
 +当方が使用しているExcel 2000では''LongPtr''がサポートされていないため、ポインタが必要なところで''Long''にしています。
 +このような古いバージョンでなければ''LongPtr''が使えるはずで、使うべきです。
 +''MessageBoxA''の''Declare''の場合、''hwnd''が該当します。
 +
 +<file vba>
 +Declare Function MessageBoxA Lib "user32.dll" (ByVal hwnd As Long, ByVal Text As String, ByVal Caption As String, ByVal Types As Long) As Long
 +
 +Public Const MB_OK = &H0
 +Public Const MB_OKCANCEL = &H1
 +Public Const MB_RETRYCANCEL = &H5
 +Public Const MB_YESNO = &H4
 +Public Const MB_YESNOCANCEL = &H3
 +
 +Public Const MB_ICONEXCLAMATION = &H30
 +Public Const MB_ICONWARNING = MB_ICONEXCLAMATION
 +Public Const MB_ICONINFORMATION = &H40
 +Public Const MB_ICONATERISK = MB_ICONINFORMATION
 +Public Const MB_ICONQUESTION = &H20
 +Public Const MB_ICONSTOP = &H10
 +Public Const MB_ICONERRO = MB_ICONSTOP
 +Public Const MB_ICONHAND = MB_ICONSTOP
 +
 +Function MessageBox(Text As String, Caption As String, Types As Long) As Long
 +    MessageBox = MessageBoxA(0, Text, Caption, Types)
 +End Function
 +</file>
 +
 +===== ワークシート Sheet1 =====
 +
 +<file vba>
 +Sub test_Win32()
 +    Win32.MessageBox "Hello 世界 from Win32", "はろーはろーはろー", Win32.MB_YESNOCANCEL Or Win32.MB_ICONINFORMATION
 +End Sub
 +</file>

特に明示されていない限り、本Wikiの内容は次のライセンスに従います: CC0 1.0 Universal
CC0 1.0 Universal Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki