2013-10-27 3 views
1

Я искал экстенсивно для ответа на мой вопрос, и я в тупике.Applescript - Escaping Quotes при настройке Excel Формула

Я пытаюсь передать формулу, чтобы преуспеть с applescript. Проблема заключается в цитатах вокруг пробелов, которые я хочу разместить между полями. Я использовал «\», чтобы избежать кавычек, но он выдает ошибку. Чтобы сделать его более сложным, номер строки является переменной «i». Вот формула в формате 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 & ")" 

Я получаю ошибку sytax при первой косой чертой; Ожидаемый конец строки и т. Д., Но найден неизвестный токен. У меня есть чувство, что я либо не хватает нескольких наборов двойных кавычек, либо я делаю это более сложным, чем это должно быть. Есть идеи? Должен ли я идти об этом по-другому?

Заранее благодарен!

ответ

0

EDIT

С другой взгляд на это, я думаю, что у вас слишком много цитат, когда вы используете символ \, чтобы избежать двойной кавычки. Вместо того, чтобы ","\" \" & ",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

Я повторно ally понравилась идея использования ascii, потому что она делает для более чистого кода, но он ломается. Возможно, я не буду правильно его кодировать. ошибка «Microsoft Excel получил ошибку: не может продолжить Chr». номер -1708 установить формулу строки i столбца 14 в "= CONCATENATE (A" & i & "," & Chr (32) & ", B" & i & "," & Chr (32) & ", C "& я &", "& Chr (32) &", D "& я & ")" цитируемый версия также отправляет обратно ошибка синтаксиса Ожидаемый конец строки и т.д., но нашел """. Спасибо за помощь, между прочим. –

+0

Посмотрите мои правки, я думаю, что у вас была дополнительная двойная кавычка перед каждой обратной косой чертой. –

+0

Вы абсолютно правы. Вы решили это. Я сошел с ума от кавычек. оберните мою голову вокруг чередования текста и кода. И, для записи, я довольно новичок в Applescript, поэтому я ДЕЙСТВИТЕЛЬНО ценю помощь. Ваше решение ascii напомнило мне обо всех VBscript, которые я писал много лет назад. Еще раз спасибо! –

Смежные вопросы