将新工作表添加到XLSM宏Excel文件时出错

时间:2016-06-16 11:42:26

标签: excel-vba macros xlsm vba excel

我在使用VBA在宏Excel文件中添加新工作表时发现了一个问题。 我使用的方法无关紧要:

  • Sheets.add
  • 复制并粘贴工作表以创建新工作表

创建(或复制)新工作表但宏立即停止,没有任何消息错误,并且其余代码未执行。

我试图将文件转换为XLSX,现在,当我运行相同的代码时,创建工作表(就像之前一样)并且代码执行继续完美。

这就是为什么我认为它与Macro Excel类型的文件有关。

有没有人发现类似的错误?

提前感谢您的帮助。

阿尔贝托

更新我以前的问题

我做了一个新的验证,在其他PC和Excel安装中测试了完全相同的代码,并且......运行得很好。

我不知道为什么,但现在新的工作表已经创建并且代码仍在继续。 两种设备之间的唯一区别是Excel 2016版本:标准版本和专业版本。 但是,显然,这不能解释。

在任何情况下,我都必须调查正在停止代码执行的此安装之一正在发生的事情。

2 个答案:

答案 0 :(得分:0)

在xlsm文件中尝试此代码:

//app/components/panel.js
panelTemplate: '<ul><li>Components:</li><li>{{multi-input-comp key="E-mails"}}</li><li>{{partial-test}}</li><li>End</li></ul>',
templateName: "temp-panel" //make sure it does not contain an upper case character

//app/templates/components/panel.hbs
{{partial (render-template panelTemplate templateName)}}



 //app/helpers/render-template.js
import Ember from 'ember'; 
export function renderTemplate(params/*, hash*/) {
    var obj= params[0];
    var panel  = params[1];
    var htmlContent =  Ember.HTMLBars.compile(obj);
    Ember.TEMPLATES[panel] = htmlContent;
    var template = Ember.TEMPLATES[panel];
    return panel;
}

export default Ember.Helper.helper(renderTemplate);

如果这不起作用,请告诉我。

答案 1 :(得分:0)

我在使用Excel版本16.0.10730.20264 32位的Windows 7计算机上遇到了相同的问题,代码运行正常,没有问题。但是,在具有相同Excel安装版本的Windows 10计算机上,该宏将立即在Sheets.Add或Worksheets.Add行之后停止执行。我发现这只是在尝试向包含VBA代码的工作簿中添加工作表的情况下发生的。该问题是由计算机上的宏安全设置引起的。如果在打开工作簿之前将“自动化安全性”设置为“低”,则不应再收到错误:Application.AutomationSecurity = msoAutomationSecurityLow