youtube:vba-dll-001
Win32 APIの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
youtube/vba-dll-001.txt · 最終更新: 2024/07/12 02:39 by freemikan