从 VBA 运行 python 脚本

2023-11-29

设想:我正在尝试从 Excel 中的 vba 代码运行 python 脚本。代码运行没有错误,但没有产生任何结果。

VBA 中的代码:

Private Sub CommandButton1_Click()

    Dim Ret_Val
    Dim args As String

    args = "\\X\s\D\D\Data_manager.py"
    Ret_Val = Shell("C:\Users\D\AppData\Local\Continuum\anaconda2\python.exe" & " " & args, vbNormalFocus)

'also tried this, same result
Ret_Val = Shell("C:\Users\D\AppData\Local\Continuum\anaconda2\python.exe \\X\s\D\D\Data_manager.py")

End Sub

问题:几个月前我运行了同样的代码,它运行得很好,但现在,由于某种原因,它的行为很奇怪。对可能发生的事情有什么想法吗?

OBS1:我还阅读了 SO 中具有类似问题的其他帖子,但对于这些帖子,VBA 似乎会抛出错误,而这在我的代码中不会发生。

OBS2:我知道代码不会产生任何结果,因为我的 python 脚本非常简单,它需要几个输入并将它们输出到 csv 文件。


应该就是这样。

RetVal = Shell("<full path to python.exe> " & "<full path to your python script>")

或者,如果 python 脚本与工作簿位于同一文件夹中,那么您可以尝试:

RetVal = Shell("<full path to python.exe> " & ActiveWorkBook.Path & "\<python script name>")

如何在Excel VBA上调用Python脚本?

或者,试试这个:

Dim wsh As Object
Set wsh = VBA.CreateObject("WScript.Shell")
Dim waitOnReturn As Boolean: waitOnReturn = True
Dim windowStyle As Integer: windowStyle = 1

wsh.Run "cmd.exe /S /C perl a.pl c:\temp", windowStyle, waitOnReturn
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 VBA 运行 python 脚本 的相关文章

随机推荐

  • Javascript 为警报分配变量

    我想知道你能为警报分配一个变量吗 它的真正含义和作用是什么 例如 var a alert test 我尝试了一下 一旦页面加载 就会弹出警报 其中变量a遗迹 undefined 当我打电话的时候 难道我们不应该让它成为一个匿名函数 里面有警
  • 我可以在一行中将多个对象变暗为整数/变体/等吗?

    在VBA中 我可以Dim以这种简洁的方式将多个对象作为整数放在一行中 或者仅声明d是一个整数 Dim a b c d As Integer 您可以测试 Sub test Dim a b c d As Integer Debug Print
  • 如何通过 WebRequest 调用 MVC 操作并通过 Active Directory 验证请求?

    我知道这个标题很拗口 我已经把大部分事情都准备好了 我只需要确认我是否可以做我正在尝试的事情 我正在使用 ASP NET MVC 3 我有一个应用程序 它具有我像 Web 服务一样使用的控制器 控制器上有一个方法 它返回一个字符串 即 js
  • 如果应用程序进入后台模式,则会触发 Ondisconnect

    我有以下代码 func OnlineStatus userID String handle Auth auth addStateDidChangeListener auth user in if let user user User is
  • 如何使用正则表达式删除Python中的逗号、括号?

    这些是我的文本文件的内容 例如 abc doc data name abc name xyz 在python中打开文件后 如何删除所有括号 引号和逗号 最终输出应该是 data name abc name xyz Use ast liter
  • 在 python 2.7 中导入 nltk 的语法无效

    当我在 python 2 7 CLI 中执行以下代码时 import nltk 它显示以下错误 SyntaxError Invalid Syntax Traceback most recent call last File
  • Android Studio:Drawable 文件夹:如何放置多个 dpi 的图像?

    Hi 根据android文档drawable文件夹需要有多个子目录 用于存放不同dpi的图像 然而 在 Android Studio 中 在可绘制文件夹中创建任何子目录都会导致它根本无法检测到任何图像 另一方面 如果图像直接放置在可绘制文件
  • 多个春季批量作业

    我在 Spring Boot 中使用 Scheduled 注释来触发多个作业 以下是代码片段 EnableBatchProcessing EnableScheduling public class Config extends Defaul
  • Flutter闪屏不全屏android 12

    我正在创建一个带有闪屏的颤振应用程序 我已经用过flutter native splash然而 无论我在manifest xml styles xml和launch background xml中进行什么更改 我都无法让它填满整个屏幕 它以
  • splat over JavaScript 对象(用 new )?

    如何在不使用的情况下跨越对象ECMA6 特点 Attempt function can arg0 arg1 return arg0 arg1 function foo bar haz this bar bar this haz haz my
  • Ruby 1.9.3 用 eval 定义 var

    我正在用 Ruby 编写类似 REPL 的东西 我需要在运行时定义变量 我发现我应该使用 eval 但这里是 irb 会话的摘录来测试它 在 1 9 3 中 这在 1 8 中有效 gt eval a 3 gt 3 gt a gt NameE
  • PHP 比较数组

    无论如何 有没有使用内置函数来比较 php 中的数组 而不需要执行某种循环 a1 array 1 2 3 a2 array 1 2 3 if array are same a1 a2 code here 顺便说一句 数组值并不总是按相同的顺
  • 在 UIPasteboard 中存储 NSArray

    我有几个文本文件想要在 2 个应用程序之间传输 即同一应用程序的免费和付费版本 我正在使用 UIPasteboard 来执行此操作 文件的内容作为 NSArray 保存在内存中 因此我想将这些 NSArray 复制到粘贴板 精简版 并从粘贴
  • 使用 itextsharp 删除基于文本的水印

    根据这篇文章 从 PDF iTextSharp 中删除水印 mkl 代码适用于 ExGstate 图形水印 但我已经测试了此代码以从某些 PDF 内容后面具有基于文本的水印的文件中删除水印 例如此文件 http s000 tinyuploa
  • ReactJS 修改对象数组的特定属性

    我得到了在状态中分配的对象数组 我想用输入字段修改属性 我尝试了以下一些
  • 如何使用 Javascript 获取元素的名称?

    我正在尝试获取 Javascript 中元素的名称 含义如果该元素是 div div then div 会被退回 如果它是 img src then img 会被退回 我使用 jquery 选择一堆元素 然后对所有元素调用自定义函数 在该函
  • Pandas 0.20.2 to_sql() 使用 MySQL

    我正在尝试将数据帧写入 MySQL 表 但得到了 111 Connection refused error 我在这里遵循了已接受的答案 使用 SQLAlchemy to sql 使用 pandas 写入 MySQL 数据库 答案的代码 im
  • python Spyder 不导入 numpy

    我正在使用 python Spyder 2 2 5 和 Windows 7 python 2 7 编写脚本 一开始我尝试了所有的导入方式 from numpy import or import numpy and also import n
  • 以类名作为返回类型的方法

    我是 C 或任何类型的编程语言的新手 当我看到c 中的代码时 我发现这里有很多混乱 我想从这里澄清其中之一 方法的常见结构是
  • 从 VBA 运行 python 脚本

    设想 我正在尝试从 Excel 中的 vba 代码运行 python 脚本 代码运行没有错误 但没有产生任何结果 VBA 中的代码 Private Sub CommandButton1 Click Dim Ret Val Dim args