2014-07-01 37 views
1

我想在sas中使用dde編寫一個代碼,這將在excel中概括我的單元格,該格式以前被格式化爲帶有2個小數位的數字。我在日誌中沒有收到任何錯誤消息,但是我的excel表單被put語句中的代碼所覆蓋,該語句是RANGE(「A1:A3」)。NumberFormat =「General」,而不是將格式應用於它。我不知道我哪裏出錯了。有人可以幫忙嗎?使用VBA命令的DDE SAS

這裏是我的示例代碼,

注:之前我運行這段代碼Excel的引擎打開

filename ddeopen dde "EXCEL|System"; 
options noxwait noxsync; 
data _null_; 
    x=sleep(3); 
run; 

/*打開所需的Excel文件*/

DATA _null_; 
    file ddeopen; 
    PUT "[OPEN(%bquote("C:\Documents and Settings\S\Desktop\test1.xls"))]"; 
    x=sleep(3); 
run; 

/*在打開的Excel工作表中將單元格格式化爲常規*/

filename ddeopen dde "EXCEL|Sheet1!r1c1:r3c1"; 
data _null_; 
file ddeopen; 
    x=sleep(3); 
PUT "[%bquote(RANGE("A1:A3").NumberFormat="General")]"; 
RUN; 

非常感謝 西米

回答

0

我想你需要先選擇使用「R1:C1」你的範圍風格像這樣:

put ‘[select("r1c2:r100c2")]’; 

然後你就可以格式化用下面的命令選擇:

put '[Format.Number("General")]'; 

這應該在導出數據之前對單元格使用「常規」格式樣式。