从单元格复制时删除双引号

从单元格复制时删除双引号

问题
将包含“脚本”的单元格从 Excel 复制到另一个程序时,会自动添加双引号 ( ""),而不仅仅是单引号 ( ")。

此外,在脚本的开始和结束时,"会自动添加。

这是我的脚本,其中强调的引号是多余的:

// 按星期几更改预算的脚本 // Jon Gritton 2016

// 用户变量 var BUDG_NAME = “共享预算 S104 (CX - 高)” ; 变量 B_MON = 500000 ; 变量 B_TUE = 500000 ; 变量 B_WED = 500000 ; 变量 B_THU = 500000 ; 变量 B_FRI = 500000 ; 变量 B_SAT = 500000 ; 变量 B_SUN = 500000 ;

函数main(){设置预算(getBudgetToday());}

函数 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(), “MMM 日,yyyy HH:mm:ss” )); var today = d.getDay(); 返回 budgArray[today]; }

函数 setBudget(budgetToday) { Logger.log( “今天的预算是:” + budgetToday); var budgetIter = AdWordsApp.budgets() .withCondition( “预算名称 = '” + 预算名称 + “ ” ) .get() while (budgetIter.hasNext()) { var thisBudget = budgetIter.next(); thisBudget.setAmount(budgetToday); } }

细节
我在 Windows 10 上使用 Excel 2013。

我在其他帖子中看到,我们可以用这个宏来解决这个问题

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

实际上,那个宏与Excel 2013兼容。您需要做的是添加对的引用Microsoft Forms 2.0 Object Library,如代码第二行注释中所述。

在 VBE 中,转到ToolsReferences…,向下滚动直到找到表单参考(位于“M”下)并勾选复选框:

添加参考截图

该宏现在应该可以工作了。

相关内容