返回列表 上一主題 發帖

[發問] 使x86Excel VBA程式碼在x64Excel執行

[發問] 使x86Excel VBA程式碼在x64Excel執行

系統平台 win x64,
    請問要如何修改 原來的x86 VBA
    使能在 x64 及 x86 Excel 都能執行?
    拜了 Google 大神也沒找到能實質使用的答案或案例。

    感恩指導

你就重新宣告就好了.以下是舉例. 可以去問gpt


#If VBA7 Then
    ' 64位元或支援 VBA7 的32位元
    Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr)
#Else
    ' 舊版32位元
    Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
#End If

Sub TestSleep()
    MsgBox "開始等待 2 秒..."
    Sleep 2000 ' 暫停 2000 毫秒
    MsgBox "等待結束。"
End Sub

TOP

自從 gpt 冒出後 , 有無發現本論壇幾乎趨近無人發問狀態

TOP

本帖最後由 jackyq 於 2025-5-2 19:09 編輯

如果只是 Declare PtrSafe 問題
我覺得不太可能 google 會找不到答案
而 x86  x64 不相容選項並非只有 standard dll (  Declare PtrSafe )

TOP

回復 2# checkout88

    請問 經過 API 的宣告後,程式碼中的變數 也要如此?
    DIM aa as long
     變成  DIM aa as longPtr
   
     感恩

TOP

回復 4# jackyq

     謝謝大大對 GPT 的提醒,
     順便問一下, GPT 的收費如何

TOP

DIM aa as long
     變成  DIM aa as longPtr

-> 不須要 , 只要改 API 聲明

gpt 有免費  也有付費方案

TOP

回復 6# Scott090

這些問題不用錢啊. 公司系統之前一下子升64BIT, 一下子升 OFFICE365..  如果沒有 GPT, 我可能會花 2 倍的時間找答案.

TOP

最快的方式是把你的宣告部丟到 gpt, 請他改成 32/64 相容, 應該5分鐘搞定.

TOP

回復 9# checkout88
回復 7# jackyq
   謝謝2為大大的協助

TOP

        靜思自在 : 世上有兩件事不能等:一、孝順 二、行善。
返回列表 上一主題