VBA 新手請教一下!我用OFFICE365寫好本來可以用,要給使用OFFICE2007的同事使用,結果出現什麼屬性錯誤的訊息,偵錯結果如附件圖片!可以請前輩幫忙修正嗎?謝謝各位大大的幫忙~<問題解決了...>小弟把一樓大大說的add2刪除後,居然就好了~太神奇了~我也不知道為什麼~我想一樓大大才知道原因吧........
MauChiuan wrote:看看是不是位元版本...(恕刪) 微軟解釋https://msdn.microsoft.com/zh-tw/library/office/ee691831%28v=office.14%29.aspx?f=255&MSPPError=-2147217396Office 2010 中的原生 64 位元處理序無法載入 32 位元二進位檔案。當您具有現有的 Microsoft ActiveX 控制項和現有的增益集時,通常預期會有此問題。VBA 先前沒有指標資料類型,因此開發人員使用 32 位元變數來儲存指標和控制碼。這些變數現在會在使用 Declare 陳述式時,截斷 API 呼叫傳回的 64 位元值。ActiveX 控制項和 COM 增益集相容性現有的 32 位元 ActiveX 控制項 (包括協力廠商和 Microsoft 提供的控制項) 與 64 位元版本的 Office 2010 不相容。針對 ActiveX 控制項和 COM 物件,有三種可能的解決方法:如果您具有原始程式碼,您可以自行產生 64 位元版本。您可以連絡廠商取得更新版本。您可以尋求替代解決方案。Office 2010 中的原生 64 位元處理序無法載入 32 位元二進位檔案。這包括 MSComCtl 的通用控制項 (TabStrip、Toolbar、StatusBar、ProgressBar、TreeView、ListViews、ImageList、Slider、ImageComboBox),以及 MSComCt2 的控制項 (Animation、UpDown、MonthView、DateTimePicker、FlatScrollBar)。舊版 Microsoft Office 已安裝這些控制項,且 32 位元 Office 2010 會繼續安裝。當您將程式碼移轉至 64 位元 Office 2010 時,必須找到使用這些控制項之現有 Microsoft Office VBA 解決方案的替代解決方案。64 位元 Office 2010 不提供通用控制項的 64 位元版本。