1. 程式人生 > >PYTHON 呼叫EXCEL VBA 函式:使用win32com模組

PYTHON 呼叫EXCEL VBA 函式:使用win32com模組

import win32com.client

def excel_VBA():
    xls=win32com.client.Dispatch('Excel.Application')
    xls.Workbooks.Open(r'E:/mypython/NewHztoPy_20171102.xls')
    args = ('陳祉希',' ',0,0,0)
    ret = xls.Application.Run("HzToPy", '陳祉希',' ',0,0,0).upper()
    print(ret)
    xls.Application.Quit()


if __name__ == '__main__'
: excel_VBA()

其中,HzToPy函式如下:

函式原型如下:
“Public Function HzToPy(Hz As String, _
Optional Sep As String = “”“”, _
Optional NotationType As Integer = -1, _
Optional ShowInitialOnly As Boolean = False, _
Optional ShowOnlyOneChar As Boolean = True) As String”

引數名 引數型別 說明
Hz 字元型 為漢字字串
Sep 字元型,可選 設定拼音間隔字元,預設為空(”“)
NotationType 數字型,可選 設定注音符號如何顯示;-1(即TRUE)顯示註音;0(即FALSE)隱藏註音;其他數值用數字代替音調(如hàn顯示為han4),預設顯示註音
ShowInitialOnly 布林型,可選 設定是否僅顯示拼音首字,預設顯示全部
ShowOnlyOneChar 布林型,可選 設定是否僅顯示拼音首字母(“zh”顯示為”z”),預設顯示首字

執行結果:
CHEN ZHI XI