====== 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''が該当します。 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 ===== ワークシート Sheet1 ===== Sub test_Win32() Win32.MessageBox "Hello 世界 from Win32", "はろーはろーはろー", Win32.MB_YESNOCANCEL Or Win32.MB_ICONINFORMATION End Sub