2012-08-07 83 views
-1

我使用R2012a下的引导工具的Windows 7下它使用类似的代码Matlab print -dmeta命令将错误的数字剪切到剪贴板。怎么修?

function pushbutton1_Callback(hObject, eventdata, handles) 
    h = figure() 
    t = linspace(1,10,200); 
    plot(t,sin(t)) 
    figure(1) 
    save2word('myfile.doc') 

这应该保存这个数字到Windows剪贴板MATLAB GUI项目开发的。实际发生的情况是剪贴板包含调用程序的图像。

如果我按如下方式更改代码,预期图像出现在剪贴板上。

function pushbutton1_Callback(hObject, eventdata, handles) 
    h = figure() 
    t = linspace(1,10,200); 
    plot(t,sin(t)) 
    figure(1) 
    save2word('myfile.doc', '-f1') 

以这种方式使用save2word解决我的问题,但我很困惑,为什么一些用于工作改变了。它可能是Java更新吗?

回答

1

save2word功能,只要您可以使用指定的数字“打印”第二个参数:

save2word('file.doc','-f1') 

其最终调用:

print -dmeta -f1 

的数字复制到剪贴板。

当然,您可以通过编程方式构建字符串:sprintf('-f%d',hFig)其中hFig是图形句柄。

+0

谢谢。这已修复它。 – 2012-08-08 09:54:05

0

要使用save2word,你需要调用save2word,在这种情况下我没有看到你做。因为你在这里只需将活动图形复制到剪贴板。如果你想把它保存到一个文件中,你必须使用print -dmeta 'filename'

我想这可能是我没有完全理解你在这里问/说什么。您是否说save2word使用print -dmeta为了将给定的数字放入word文档?重要的是要注意,save2word不支持一次将多个数字保存到word文档,并且您需要每次为每个要保存的数字调用它。

+0

看来我没有把自己弄清楚。我的问题是关于print -dmeta,而不是save2word。只是在save2word中使用print -dmeta。我修改了我的GUIDE开发的图形用户界面来调用 – 2012-08-07 12:58:50

+0

以前的评论继续... – 2012-08-07 12:59:07

+0

再次(我按回车输入代码示例,现在我将内联它)。图1);打印-dmeta应该将图1复制到剪贴板。 (图1存在)。相反,调用图形用户界面被复制到剪贴板,正如我可以通过粘贴到绘画中看到的那样。 – 2012-08-07 13:01:45