我试图在VBA Excel中使用Shell脚本在命令提示符上执行命令。当我在命令提示符下执行此命令时,它通过打印一个数字作为输出。但是当我在脚本中调用相同的命令时,它不会在消息框中显示此数字。调用命令提示符并通过VBA中的Shell Exec执行命令
Sub Button6_Click()
Dim oShell As Object
Dim objExecObject As Object
Set oShell = CreateObject("WScript.Shell")
Set objExecObject = oShell.Exec("cmd /c convert test2.jpg -fill black +opaque white -fill white -opaque white -print %[fx:w*h*mean]")
MsgBox (objExecObject.StdOut.ReadAll)
End Sub
我认为问题与Exec函数中的参数有多个单词。所以我试图通过串联一个字符串如下所示。但是这也行不通。
Dim command As String
command = "convert test2.jpg -fill black +opaque white -fill white -opaque white -print %[fx:w*h*mean] null:"
Set objExecObject = oShell.Exec("cmd /c " & command)
似乎没有运行时错误,并且消息框总是返回空白而不打印数字。 FOR CLARITY,convert命令是ImageMagick提供的一个函数。
请告诉我如何在命令提示符下运行convert命令,并在消息框中输出命令提示符。
非常感谢。
+0
这工作。 Set objExecObject = oShell.Exec(“cmd/c convert test2.jpg -fill black + opaque white -fill white -opaque white -print%[fx:w * h * mean] null:”) null的命令是问题。还要确保文件的路径是绝对的,在我的情况下不是问题。 –
2014-09-29 15:04:55