瀏覽單個文章
rockjimmy
*停權中*
 

加入日期: Feb 2004
文章: 2,909
引用:
作者Lan-EVO
這個問題應該是Excel VBA會將取得的字串轉為ANSI再丟給Windows API處理的關係。
網路上有解決的方案,是呼叫unicode version的Win32 API。
您可以參考一下:Private Declare Function Curt_Directory Lib "kernel32" Alias


>>>網路上有解決的方案,是呼叫unicode version的Win32 API。
假如unicode字串"市場の商品"---塞到A
A的內容就變成"市場?商品"

L大不好意思...小弟算是半路出家無法了解"呼叫"這意思
可否麻煩L大給個大概方向,示範一小段"呼叫unicode version的Win32 API"
先感恩了@@a...

==L大說的是下面這東西嗎@@?==
Declare 陳述式加上 PtrSafe 關鍵字是建議使用的語法。只有當 Declare 陳述式中需要儲存 64 位元數量的所有資料類型 (參數和傳回值) 都更新為在 64 位元整數情況下使用 LongLong,或者在指標和控制代碼情況下使用 LongPtr 時,包含 PtrSafe 的 Declare 陳述式在 32 位元和 64 位元平台的 VBA7 開發環境中才能正確運作。若要確保和 VBA 6 版及先前版本的回溯相容性,請使用下面結構:

#If Vba7 Then
Declare PtrSafe Sub...
#Else
Declare Sub...
#EndIf
舊 2012-01-03, 10:11 PM #6
回應時引用此文章
rockjimmy離線中