小编V. *_*lov的帖子

GNUPLOT与VBA - STDERR去了哪里?

我在VBA的范围内运行Gnuplot,效果出奇的好.我可以使用GNUPLOT和Word VBA生成一本大约一百个图表的书.(使用Excel图表,我可能得到大约四个)

有一个小问题 - 在VBA下运行时,STDERR会消失,或者没有被创建.没有诊断.

鉴于以下小型GNUPLOT脚本,

set key bmargin left horizontal Right noreverse enhanced autotitle box lt black linewidth 1.000 dashtype solid
set samples 800, 800
set title "Simple Plots" 
set title  font ",20" norotate
DEBUG_TERM_HTIC = 119
DEBUG_TERM_VTIC = 119
plot [-30:20] sin(x*20)*atan(x)
Run Code Online (Sandbox Code Playgroud)

我的VBA代码将其写入临时文件并尝试运行它.VBA生成

"C:\temp\Gnuplot\bin\gnuplot.exe" C:\Users\VVKOZLOV\AppData\Local\Temp\gnuA5E0.txt 2>"C:\Users\VVKOZLOV\AppData\Local\Temp\gnuA5E2.err"
Run Code Online (Sandbox Code Playgroud)

然后使用Windows Shell运行它,如下所示调用:

Dim wsh As Object
Set wsh = VBA.CreateObject("WScript.Shell")
Run Code Online (Sandbox Code Playgroud)

然后

wsh.Run x, 0, True ' x contains the generated GNUPLOT expression
Run Code Online (Sandbox Code Playgroud)

GNUPLOT执行完美.

在GNUPLOT表达式中,第一项是GNUPLOT程序的位置,在我的系统上恰好是"C:\temp\Gnuplot\bin\gnuplot.exe".第二个文件是在Microsoft官方位置生成的临时文件C:\Users\VVKOZLOV\AppData\Local\Temp\gnuA5E0.txt.最后是STDERR的位置,2>"C:\Users\VVKOZLOV\AppData\Local\Temp\gnuA5E2.err"其中2>表示这是STDERR,而不是正常输出STDOUT.

现在假设我在GNUPLOT源中引入了一个故意的错误,我希望写一个包含类似内容的错误文件

scooby …
Run Code Online (Sandbox Code Playgroud)

vbscript vba gnuplot excel-vba word-vba

2
推荐指数
1
解决办法
211
查看次数

标签 统计

excel-vba ×1

gnuplot ×1

vba ×1

vbscript ×1

word-vba ×1