2013-10-27 31 views
1

我廣泛關注回答我的問題,我陷入了僵局。AppleScript的 - 擺脫行情時設置Excel公式

我試圖通過一個公式使用AppleScript脫穎而出。問題在於我想在場之間放置空間的引號。我用「\」來轉義引號,但會引發錯誤。爲了使它更復雜,行號是一個變量「我」。這裏是Excel格式的公式:

=CONCATENATE(A2," ",B2," ",C2," ",D2) 

這裏是AppleScript的ESE公式(的作品,但數據不會產生空格):

set rowCount to (((count of rows of used range of active sheet)) + 1) 
repeat with i from rowCount to 2 by -1 
set formula of row i of column 15 to "=CONCATENATE(A" & i & "," & ",B" & i & "," & ",C" & i & "," & ",D" & i & ")" 

這裏與轉義引號添加公式空間(提示錯誤):

set formula of row i of column 15 to"=CONCATENATE(A" & i & ","\" \" & ",B" & i & ","\" \" & ",C" & i & ","\" \" & ",D" & i & ")" 

我得到第一個斜槓一個錯誤的語法時才; 預計行結束等,但發現未知的令牌。我有一種感覺,我是丟失了幾臺雙引號或我在做這樣複雜得多,它需要的。有任何想法嗎?我應該以不同的方式進行討論嗎?

在此先感謝!

回答

0

編輯

它以再看看我認爲當你使用\字符轉義雙引號,你有太多的報價。取而代之的","\" \" & ",B"嘗試",\" \",B"讓你的行會是這樣的:

set formula of row i of column 15 to "=CONCATENATE(A" & i & ",\" \",B" & i & ",\" \",C" & i & ",\" \",D" & i & ")" 

在Excel VBA中,你可以雙引號雙引號讓它在這樣的字符串顯示:

"=CONCATENATE(A" & i & "," & """ """ & ",B" & i & "," & """ """ & ",C" & i & "," & """ """ & ",D" & i & ")" 

或者你可以嘗試使用ASCII字符是Chr(32)

+0

我重新空間盟友喜歡使用ascii的想法,因爲它使得代碼變得更簡潔,但卻破壞了。我可能沒有正確編碼它。 錯誤「Microsoft Excel中得到了一個錯誤:無法繼續人權委員會。」數-1708行第i列14 「= CONCATENATE(A」 &I& 「」 &CHR(32)& 「B」 &I& 「」 &CHR(32)&的」,C 集式「&I&」, 「&CHR(32)&」,d 「&I& 」)「 所引用的版本也發送回線等的語法錯誤的預期目的,而是發現 」「」。 感謝您的幫助,順便說一下 –

+0

看到我的編輯,我認爲您在每個反斜槓前都有額外的雙引號 –

+0

您是完全正確的,您解決了它,我瘋狂地使用了引號,它可能會變得複雜滿腦子都在文本和代碼之間交替。而且,備案,我是很新,AppleScript的,所以我真的很感激幫助。您的ASCII解決提醒我所有的VBScript我用幾年前寫的。 再次感謝! –