2012-08-07 31 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