2016-08-23 146 views
0

我有一個Word創建的加載項,它通過我用c#寫的使用visual studio的api與第三方cmd程序進行通信。通信使用stdin和stdout進行。 該程序適用於Windows的Word 2007,2010,2013,2016。Word 2016 vba加載宏的Mac

我也成功地將它移植到Mac版Word 2011中。這裏的api是用c編寫的,但仍然使用stdin和stdout。 mac上的api是一個dylib,我可以在visual basic編輯器中參考。 我在Mac版Office 2016中複製此問題時遇到問題。 由於新的安全限制,我懷疑它可能是不可能的。 當我嘗試引用一個文件時,我只能選擇.tlb文件(類型庫)。我只在Windows上使用visual studio創建了tlb文件,並不知道如何在Mac上執行此操作。

任何人都可以回答,如果我想要做的甚至可能在2016年的Mac版Office版本中,以及我可能在哪裏可以找到有關如何創建可引用文件的文檔?

FYI:加載項被稱爲WordMat:www.eduap.com

遵循以下 我有麻煩聲明功能在我的lib從@erik信息附加信息。這裏是我的聲明聲明: Declare PtrSafe Function VBstrlen Lib "/Library/Application Support/Microsoft/Office365/User Content.localized/Add-Ins.localized/libMaximaConnection.dylib" (ByVal s As String) As LongPtr

函數是一個簡單的測試函數,它返回一個字符串的長度。聲明函數按照預期在Word 2011中使用上述路徑進行工作。

報告的錯誤是錯誤53文件找不到

的dylib是32位編譯,所以我不希望因爲辦公室2016年64位升級它的工作,但我希望由於Word 2011會報告錯誤453 DLL,因此無法找到

+0

的Mikael,感謝張貼這個問題。我想知道你是否設法找到解決這個問題的辦法。你能夠更新/分享? – Arieleo

+0

是的。產生的錯誤是誤導。當dylib更新並編譯爲64位時,問題已解決。上面提到的聲明聲明是可以的。 –

+0

我會嘗試;感謝更新! – Arieleo

回答

0

Office 2016是沙盒,只有有限的權利才能讀取生活在特定位置的文件。我爲安裝Mac Office 2016的用戶內容編寫了本文檔,您可以從這裏開始:http://macadmins.software/docs/UserContentIn2016.pdf

具體來說,dylib必須位於〜/ Library/Group Containers/UBF8T346G9.Office/User Content.localized/Add-Ins中。本地化/如果它們是針對每個特定用戶安裝的,或者安裝在/ Library/Application Support/Microsoft/Office365 /用戶Content.localized/Add-Ins.localized /中,如果它們在計算機上安裝一次以供所有用戶共享。

Office 2016應用程序無法再讀取任意文件位置。

另外,當您嘗試添加文件引用時,無法選擇任何非typelib文件可能是一個錯誤。我得看一看。

Schwieb (首席軟件工程師,蘋果平臺經驗集團,微軟公司)

+0

非常感謝。這看起來有希望。我可以在參考文獻中選擇任何文件,但它不會顯示在參考文獻中。如果文件位於正確的位置,它可能會工作。 –

+0

好吧,我現在嘗試兩個文件夾位置沒有任何運氣。 –

+0

當我嘗試選擇dylib時,我無法選擇它 - 它變灰了。默認文件擴展名是一個可以更改爲tlb或'任何文件'的單詞文件。選擇'任何文件'都無濟於事。我再一次對字母文件夾名稱進行了多次檢查。 僅供參考如果我去一個我可以選擇一個單詞文件的位置,並選擇'任何文件',那麼這個單詞文件也會變灰。運行優勝美地10.10.4。 –