
VBA 教學 – 在本文中,我將向你展示以xlwings 插件, VBA Marcos,在Excel用Python的方法.
- 安裝xlwings:
1. 在Cmd的視窗下, 輸入:
Python 2.x: pip install xlwings
Python 3.x: pip3 install xlwings
*安裝的條件為先有python2.x或python3.x, 若未安裝的話請先裝上.
2. Cmd的視窗下, 輸入:
xlwings addin install
3. 進入VBA編輯的版面內:
在”Developer” Tab -> 選”Visual Basic”
*若Excel 未顥示 “Develop” 於功能表內, 請先在設定把它顥示出來. 詳情請看:
【Excel 編程教學】- 在Excel功能表加上Developer Tab以及 設定Marco (VBA 或其他 Macros) 安全的方法.
4. 激活”xlwings”
在”Tools” Tab -> 選”Reference” -> 再選上”xlwings”的方格, 再按OK.
- 第一個Excel Python Marco:
- 建立VBA Methods, 例子如下:
Sub WriteMessage()
RunPython “import test; writeMessage()”
End Sub
2. 在同一個資料夾下, 建立test.py:
#test.py
import numpy as np
import xlwings as xw
def writeMessage():
ws = xw.Book.caller() ws.sheets[0].range(“A1”).value = “陳”
ws.sheets[0].range(“B1”).value = “大為”
ws.sheets[0].range(“C1”).value = “先生”
ws.sheets[0].range(“D1”).value = ws.sheets[0].range(“A1”).value + ws.sheets[0].range(“B1”).value + ws.sheets[0].range(“B1”).value