首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在第一次打开文件时只自动执行一次vba宏?

如何在第一次打开文件时只自动执行一次vba宏?
EN

Stack Overflow用户
提问于 2022-02-17 11:03:33
回答 1查看 198关注 0票数 0

我的用例如下:

一个Excel模板,包括一些处理后处理的VBA宏template

  • Desired process:

  • Run
  • python脚本,它从上面的here
  • Use脚本
  • 中创建一个Excel工作簿,打开在Excel下创建的工作簿,它会自动运行VBA宏,就像描述的here
  • Use文件一样,如果我再次打开工作簿,VBA宏将保存
  • ,VBA宏将不会执行anymore
  1. Justification :我可以编写Python脚本来构建Excel工作簿,而我使用的库丢失了一些功能。我希望将VBA代码最小化,以填补空白。

因此,如何使我的VBA宏在工作簿打开时在Excel?下只执行一次

我的解决方案是在VBA宏中创建一个类似于标志的工作表,我在VBA宏开始时测试它是否存在。有更清洁的解决方案吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-17 11:25:10

可能还有其他各种选项,但一个简单的选项是在调用宏之前,将带有值OpenFirstTime的名称True添加到工作簿中,并检查该值是否为True

如果是,则调用过程并将名称的值切换到False

代码语言:javascript
运行
复制
Private Sub Workbook_Open()
    If Evaluate("OpenFirstTime") = True Then
        'Call YourProcedure
        ThisWorkbook.Names("OpenFirstTime").Value = False
    End If
End Sub
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71156936

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档