Pythonスクリプトがワークブックに直接書き込む場合、これは難しくありません。まず、ワークブックに書き込むものがあなたのために十分であれば、VBAマクロまたはPythonから何も返す必要はありません。
UDFは必要ありません。あなたが必要とするのは、基本的にはxlwingsの公式ドキュメントhereからコピーしたものです:
1)あなたのスクリプトを持っているファイルとあなたのExcelブックが話していることを確認してください(xlwings quickstart <project_name>
コマンドラインは、その後、
2)あなたは__main__()
のような単機能から必要なすべてを呼び出すことができていることを確認してください。結果のPythonのファイルにスクリプトをコピー(またはexecfileを実行するために準備または類似したもの)
3します)あなたのExcelブックに行き、コマンドボタンを作ってから、xlwingsが親切に提供してくれたSampleCallマクロを割り当ててください
4)VBAエディタを開きます。あなたはすぐにSampleCallマクロが表示されます。
Sub SampleCall()
RunPython ("import testproj;testproj.world()")
End Sub
だけtestproj
、適切world
の名前を編集します。
CommandButtonをクリックしてスクリプトを実行できるようになりました。
testprojはプロジェクトの名前で、世界はpythonファイルの名前です。私はそれをショットを与えるよ! – jenkelblankel
testprojはPythonファイルの名前で、worldはファイルから実行する関数の名前です。 RunPython関数はPythonコードを実際に実行するので、import文は通常のPythonファイルとまったく同じように動作します。がんばろう! –