お世話になります。
以下の内容について、アドバイスをいただけると幸いです。
実現したいこと
VBAからPythonのプログラムに引数を渡して実行させたいのですがうまくいきません。
VBA側は、GUIでファイルを選択し、その後処理内容を記載したPythonにVBAで選択したファイル名を引数として渡すことを実現したいです。
VBA側のコード
VBA
1Sub FileOpen() 2 Dim FileName As Variant 3 4 'ファイルを選択(GUI) 5 FileName = Application.GetOpenFilename("CSVファイル(*.csv),*.csv") 6 If FileName = False Then 7 Exit Sub 8 End If 9 10 'Python呼び出し 引数はファイル名 11 Call RunPython("import READFILE; READFILE.Read(String FileName)") 12End Sub
Pythonのコード
Python
1import os 2import sys 3import pandas as pd 4import openpyxl 5import socket 6 7def Read(FileName): 8 df = pd.DataFrame() 9 df = pd.read_csv(FileName, header=None ) 10 print(df)
エラーメッセージ
VBAで以下のエラーが表示されます。
Error
File "<string>", line 1
import sys, os; sys.path[0:0]=os.path.normcase
import READFILE; READFILE.Read(String FileName)
SyntaxError: invalid syntax
Press Ctrl+C to copy this message to the clipboard.
よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2021/05/24 23:29
2021/05/24 23:39
退会済みユーザー
2021/05/25 00:08