Проблема:
При копировании ячейки, содержащей «скрипт» из Excel, в другую программу, двойные кавычки ("") добавляются автоматически, а не только одинарные кавычки (").

Кроме того , в начале и в конце скриптов, а " добавляется.

Вот мой сценарий, и выделенные цитаты являются посторонними:

"// скрипт для изменения бюджета по дням недели // Джон Гриттон 2016

// пользователь vars var BUDG_NAME = " " Общий бюджет S104 (CX - высокий) " " ; var B_MON = 500000; var B_TUE = 500000; var B_WED = 500000; var B_THU = 500000; var B_FRI = 500000; var B_SAT = 500000; var B_SUN = 500000;

function main () {setBudget (getBudgetToday ()); }

function getBudgetToday () {var budgArray = [B_SUN, B_MON, B_TUE, B_WED, B_THU, B_FRI, B_SAT]; var d = new Date (Utilities.formatDate (new Date (),> AdWordsApp.currentAccount (). getTimeZone (), " " МММ дд, гггг ЧЧ: мм: сс " ")); var today = d.getDay (); вернуть budgArray [сегодня]; }

function setBudget (budgetToday) {Logger.log (" " Бюджет на сегодня - это: " " + budgetToday); var budgetIter = AdWordsApp.budgets () .withCondition (" " BudgetName = '" " + BUDG_NAME + " "' " ") .get () while (budgetIter.hasNext ()) {var thisBudget = budgetIter.next (); thisBudget.setAmount (budgetToday); }} "

Детали:
Я использую Excel 2013 на Windows 10.

Я читал в другой ветке, что мы можем решить эту проблему с помощью этого макроса

Sub CopyCellContents()
  'create a reference in the VBE to Microsft Forms 2.0 Lib
  Dim objData As New DataObject
  Dim strTemp As String
  strTemp = ActiveCell.Value
  objData.SetText (strTemp)
  objData.PutInClipboard
End Sub

но, видимо, этот макрос совместим только с Excel 2007, но не с Excel 2013:

«Ошибка компиляции: пользовательский тип не определен»

Единственный обходной путь - скопировать ячейку (содержащую скрипт) в Word 2013 и скопировать текст, заблокировав панель формул. Но мне нужно просто скопировать ячейку в новую программу.

Как я могу предотвратить появление этих двойных кавычек при копировании в другую программу? Другими словами, можно ли избавиться от этих двойных кавычек от автоматического добавления при копировании ячейки в буфер обмена?

1 ответ1

1

На самом деле, этот макрос совместим с Excel 2013. Что вам нужно сделать, это добавить ссылку на Microsoft Forms 2.0 Object Library , как объясняется в комментарии во второй строке кода.

В VBE перейдите в ToolsReferences… , прокрутите вниз, пока не найдете ссылку на Формы (она будет находиться под "M") и установите флажок:

Скриншот добавления ссылок

Макрос должен работать сейчас.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .