https://docs.microsoft.com/ja-jp/office/vba/language/concepts/getting-started/64-bit-visual-basic-for-applications-overviewつまり、私の新しいOfficeが64ビット版になったことで、それまで32ビット版で作られていたVBAを開こうとするとエラーになっていたようです。Declareステートメントの前に...
Declare 句を用いる事でDLLを使用できるが、32bitか64bitか常に考えて使用すること。32ビットプロセスのExcelからは64bitのDLLは使用できないし、64ビットプロセスのExcelから32bitのDLLは使用できない。「Win64」という条件付きコンパイル定数の使用を検討すること。
●64ビット用VBAのコード Private Declare PtrSafe Sub SweepC Lib "mydll.dll" (ByVal n As Long, ByVal s As Long, ByVal e As Long, ByRef dat() As Double, ByRef res() As Double) Private Sub MatSweep(n As Integer, s As Integer, e As Integer, adbDat() As Double, adbRes() ...
コードを 64 ビット バージョンの Microsoft Office で実行するには、すべての Declare ステートメントに PtrSafe キーワードが含まれている必要があります。また、64 ビット数量を格納する必要がある Declare ステートメント (パラメーターと戻り値) 内のすべてのデータ型を更新して、64 ビ...
Date (日付型)は、IEEE 64 bit(8byte) として格納されているのでdouble で扱える。 FormMain.vb Private Declare Function FuncDate Lib "DllExportSample.dll" (ByVal x As Date) As Date Private Sub cmdDate_Click() On Error GoTo Error Call MsgBox("明日は" & Format$(FuncDate(Now()), "yyy...
Private Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hWnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long Private Declare Function IIDFromString Lib "ole32" (lpsz As Any, lpiid As Any) As Long ...
Windows8(64bit),Office(64bit)Excel2013の場合、次の2ヵ所でコンパイルErrorが発生しました。 なにとぞ回避策をご教授よろしくお願いいたします。 Private Declare Function GetCurrentThreadId Lib "kernel32" () As Long Private Declare Function SystemParametersInfo Lib "user32" Alias "SystemParameters...