VBScript在创建文本文件之前杀死程序

时间:2017-06-30 20:06:53

标签: python excel vbscript

我制作了一个vbscript来打开一个excel doc,然后运行一个python程序,从文档表中提取数据并将其打印到文本文件中。该脚本应该等到python程序完成后创建文本doc然后关闭excel doc,但无论出于何种原因我的python程序在它甚至有机会制作该文本doc之前关闭。

我甚至更改了python代码,只是将一个简单的“Hello World”打印到一个新的文本文档中,以防从excel中提取数据导致问题但文本文档仍未创建。

这是我正在运行的脚本:

 Set xl = CreateObject("Excel.application")

 xl.Application.Workbooks.Open "C:\Users\V\Documents\_PROGRAMS_\TEST.xlsx"
 xl.Application.Visible = True

 Dim oshell
 Set oshell = WScript.CreateObject("WScript.Shell")

 oshell.CurrentDirectory = "C:\Users\V\Documents\_PROGRAMS_\"

 windowStyle = 1
 waitUntilFinished = True
 oshell.run "python table.py", windowStyle, waitUntilFinished
 xl.Application.Quit

我不认为添加python程序很重要,因为这不是真正的问题。虽然我会说我试图在python程序中加入延迟,看看是否会改变任何东西(它没有)。

我虽然将两个额外的参数添加到.run会让它等到进程完成但是我想我一定错过了什么?

我刚刚开始学习如何使用vbscript,所以欢迎任何代码解释!

谢谢!

编辑:所以经过更多的测试后,似乎它确实与访问excel文档有关,因为只是将“Hello World”打印到文件确实有效并且文件已创建(我在错误的目录中创建了文件)偶然所以我在错误的地方看。但是尝试使用excel文档中的数据没有创建文件,程序就结束了

所以这是我写的python代码:

#!/usr/bin/python27
import pandas as pd

table = pd.read_excel("TEST.xlsx") #Get excel doc

file = open("text.txt", "w") #Open new file
file.write(table.columns.values) #Print out column headers
file.write("Hello!")
file.close()

0 个答案:

没有答案