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


0

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

另外,在脚本的开头和结尾处"会自动添加a。

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

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

//用户乏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;

函数main(){setBudget(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 dd,yyyy HH:mm:ss“ ));今天的var = d.getDay(); 返回budgArray [today]; }

函数setBudget(budgetToday){Logger.log( ”今天的预算是:“ + budgetToday); var budgetIter = AdWordsApp.budgets(). withCondition ( ” BudgetName ='“ + BUDG_NAME + ”“ ).get()而(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中,并通过阻止编辑栏复制文本。但是我只需要将单元格复制到新程序即可。

复制到另一个程序时,如何避免显示双引号?换句话说,将单元格复制到剪贴板时,是否可以自动添加这些双引号?


从Excel复制的多行文本自动包含引号。看到类似的问题:superuser.com/questions/324271/…–
davidmneedham

@davidmneedham这可能是freakyholic从中获取宏的地方。对问题的评论导致对另一个问题的答案,该问题位于同一宏中。
robinCTS

@robinCTS,您可能是对的。这是重复的问题吗?
davidmneedham

@davidmneedham鉴于问题不是很多,引号需要删除,但是在另一个问题中找到的解决方案不起作用(我的答案可以解决),我要说不。
robinCTS

Answers:


1

事实上,宏观与Excel 2013兼容,你需要做的是增加了一个参考Microsoft Forms 2.0 Object Library,因为在代码的第二行注释说明。

在VBE中,转到ToolsReferences…,向下滚动直到找到Forms引用(它将位于“ M”下)并勾选复选框:

添加参考截图

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.