使用Shell从VBA运行python脚本没有任何作用

时间:2018-09-04 20:24:23

标签: python excel-vba shell

下面的代码是在一台计算机上从Windows excel VBA Shell执行简单的python脚本,而不是另一台计算机。

 Sub RunIt()
    CreateObject("wscript.shell").Run "python.exe " & """\\acntnyc039\dept\HGS\Bob\test_syst_arg2.py""", 1, True
    'same as
    Shell "python.exe ""\\acntnyc039\dept\HGS\Bob\test_syst_arg2.py""", 1
End Sub

对应的python:

import pandas as pd
import sys
path = r'\\acntnyc039\dept\HGS\Bob\test\test.csv'

raw_data = {'first_name': ['Jason', 'Molly', 'Tina', 'Jake', 'Amy'], 
        'last_name': ['Miller', 'Jacobson', 'Ali', 'Milner', 'Cooze'], 
        'age': [42, 52, 36, 24, 73], 
        'preTestScore': [4, 24, 31, 2, 3],
        'postTestScore': [25, 94, 57, 62, 70]}
df = pd.DataFrame(raw_data, columns = ['first_name', 'last_name', 'age',
                                       'preTestScore', 'postTestScore'])
df.to_csv(path)

我已经阅读了所有类似的线程并检查了以下内容:

  1. 两个用户都具有相同的非管理员访问权限,但是其中一个用户没有执行该操作,不会产生任何错误消息(但cmd打开)
  2. 网络路径中没有空格
  3. 同一行直接从cmd正常运行
  4. python键入cmd时发现
  5. python,但仍尝试用python.exe替换python以及上述VBA字符串中python.exe的完整路径,无济于事
  6. 重新安装anaconda3并不能解决问题
  7. shell似乎可以很好地在非python代码上正常工作,例如:

Shell "notepad.exe ""\\acntnyc039\dept\HGS\Bob\test\test.csv""", 1

我的想法真的用光了...

0 个答案:

没有答案