从新的 xlsx 文件中删除宏

2024-06-02

功能部分:下面的代码将 xlsm 文件中的 2 个选项卡保存到新的 xlsx 文件中。文件保持打开状态以进行编辑。

错误:xlsm 选项卡在工作表代码中有触发器。该触发器无效,一旦在 xlsx 工作表中输入任何内容,就会导致错误。

所需输出:编辑新文件时未生成错误

修复尝试失败:我尝试使用脚本删除宏,但全新的工作表无法访问其代码。我可能做错了...

Sub seedPro()
    
    Dim wb As Workbook
    Set wb = ActiveWorkbook
    
    Dim wb2 As Workbook ' for new workbook
    
    ' make new sheet/names
    Worksheets(Array("Pro Focus", "AF-LU")).Copy
    
    Set wb2 = ActiveWorkbook
    wb2.SaveAs Filename:="New Form.xlsx", FileFormat:=xlOpenXMLWorkbook
        
End Sub

下面是编辑新 xlsx 时触发的工作表宏 保存在 Pro Focus 选项卡中

Private Sub Worksheet_Change(ByVal target As Range)
    If target.Address = "$C$2" And Not target.Value = "Company" Then
        newProspect "focus" ' causes error because this is not found in the xlsx
    End If
End Sub

文件保持打开状态以进行编辑。

我可以立即想到两种方法来处理这种情况。

Way 1

您需要关闭并重新打开新创建的文件。

Option Explicit

Sub WayOne()
    Dim wb As Workbook
    Set wb = ThisWorkbook
    
    wb.Worksheets(Array("Pro Focus", "AF-LU")).Copy
    
    Dim wb2 As Workbook
    Set wb2 = Application.Workbooks.Item(Application.Workbooks.Count)
    
    Dim FilePath As String
    FilePath = "C:\SampleFolder\New Form.xlsx"
    
    Application.DisplayAlerts = False
    wb2.SaveAs Filename:=FilePath, FileFormat:=xlOpenXMLWorkbook
    Application.DisplayAlerts = True
    
    wb2.Close (False)
    
    Set wb2 = Workbooks.Open(FilePath)
End Sub

Way 2

从新创建的文件中删除 VBA 代码。为此,您需要通过执行以下操作来确保检查对 VBA 项目对象模型的信任访问

  1. 单击文件 --> 选项。
  2. 在导航窗格中,选择信任中心。
  3. 单击信任中心设置...。
  4. 在导航窗格中,选择宏设置。
  5. 确保选中“信任对 VBA 项目对象模型的访问”。
  6. 单击“确定”。

Code:

Option Explicit

Sub WayTwo()
    Dim wb As Workbook
    Set wb = ThisWorkbook
    
    wb.Worksheets(Array("Pro Focus", "AF-LU")).Copy
    
    Dim wb2 As Workbook
    Set wb2 = Application.Workbooks.Item(Application.Workbooks.Count)
    
    Dim FilePath As String
    FilePath = "C:\SampleFolder\New Form.xlsx"
        
    Application.DisplayAlerts = False
    wb2.SaveAs Filename:=FilePath, FileFormat:=xlOpenXMLWorkbook
    Application.DisplayAlerts = True
    
    Dim i As Long

    On Error Resume Next
    With wb2.VBProject
        For i = .VBComponents.Count To 1 Step -1
            .VBComponents.Remove .VBComponents(i)
            .VBComponents(i).CodeModule.DeleteLines _
            1, .VBComponents(i).CodeModule.CountOfLines
        Next i
    End With
    On Error GoTo 0
End Sub

Note: 我更喜欢Way 1但这只是我个人的偏好。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从新的 xlsx 文件中删除宏 的相关文章

  • 有一个更好的方法吗? VBA脚本

    我这里有一份供料泵的跟踪清单 我们必须考虑库存水平 所以我做了这个 当您将泵输入表中时 什么也没有发生 当您将患者姓名放在上面时 该行会变成粉红色 表明该泵已离开我们的库存 我试图将一个脚本 宏放在一起 可以计算我们仍然拥有的泵 即白色行
  • Excel的INDEX函数可以返回数组吗?

    如果数据在范围内A1 A4如下 Apple Banana Orange Strawberry Then INDEX可用于单独返回该列表中的任何值 例如 INDEX A1 A4 3 会回来Orange 是否有类似的 Excel 函数或函数组合
  • 在php中将excel转换为xml

    我想读取 Excel 文件并根据该数据创建 XML 文件 在php中可以吗 Thanks 快速谷歌搜索发现this PHP https github com PHPOffice PHPExcelCodePlex 上的项目 您可能想看一下 它
  • 如何在Python中打开和编辑现有文件?

    一段时间以来 我一直在开发各种不同的程序来练习我的 Python 其中最引人注目的是我的 选择你自己的冒险 游戏 到目前为止它已经超过 1000 行 最近 我一直在尝试在 Python 中编辑文件 但我似乎无法弄清楚 例如 如果我将变量设置
  • COM 错误?打开工作簿两次会导致引用损坏

    归功于fuglede https stackoverflow com users 5085211 fuglede为了引起我的注意 这是 COM 错误吗 我打开 Excel 工作簿 A 然后打开工作簿 B 这两个工作簿在单元格 A1 中都有一
  • 如何在 Excel VBA 中仅迭代自动筛选工作表中的行?

    需要仅迭代自动筛选范围中的行 目的是获取行索引 我尝试过这个块 For Each ele In rng RowInd ele Rows Address RowNum Split RowInd 2 Next ele 这会在 rng 中的所有
  • 你能通过 JavaScript 保存/加载文件吗?

    我想使用 HTML5 Canvas 创建一个非常简单的 Javascript 游戏 但是是否可以保存一个简单的 txt 文件并加载一个简单的 txt 文件 我只需要存储一些简单的整数 但我只是想知道是否允许javascript保存和加载外部
  • 基于两列值的VLOOKUP

    我有一个表 其中一列包含用户 ID 这些被多次输入以显示特定主题的结果 ID Topic Pass Fail 71086686 Science P 71086686 Maths P 71086686 Tech P 71086686 ICT
  • 用 np.savez 存储字典会产生意想不到的结果?

    我可以使用 np savez 存储字典吗 结果令人惊讶 至少对我来说 而且我找不到通过密钥取回数据的方法 In 1 a 0 A array 1 2 3 B array 4 5 6 In 2 a Out 2 0 A array 1 2 3 B
  • 大型数据集的报告工具/查看器

    我有一个数据处理系统 可以根据其处理的数据生成非常大的报告 我所说的 大 是指该系统的 小 执行在转储到 CSV 文件中时会产生大约 30 MB 的报告数据 而大数据集大约为 130 150 MB 我确信有人有更大的想法 大 但这不是重点
  • 如何使用 C# 和 OleDbConnection 读取 .xlsx 和 .xls 文件?

    以前我使用的是ExcelPackage从 xlsx 文件中读取数据 效果很好 但后来我意识到ExcelPackage不适用于旧的 xls 格式 所以我升级到使用OleDbConnection代替ExcelPackage像这样 var fil
  • 错误:如何读取 Excel 中的空单元格

    我正在尝试使用 POI 从 Excel 读取数据 如何检查该单元格是否为空单元格 我不知道缺少什么我认为这应该有效 java util Iterator
  • Mac 上使用 Excel VBA 进行正则表达式

    我需要将 regEx 与 Excel VBA 一起使用 我使用的是 Mac OS 10 10 和 Office 2011 因此没有可以使用的 DLL 文件 这里有什么可做的 我读到我必须绑定一个苹果脚本 这是如何完成的以及该脚本需要什么内容
  • 在c#中使用OleDB读取excel文件?

    我正在构建一个程序来将 excel 文件读取到 dataGridView 中 using System using System Collections Generic using System ComponentModel using S
  • 如何使用 Office.js 获取单元格的格式

    我正在开发一个 Excel 加载项 它提取单元格 A1 的文本 包括其格式 并在其自己的区域中显示文本 所以添加包含这个 见下面的截图 显示格式化文本的区域 开始提取的按钮请点击查看图片 https i stack imgur com oy
  • 条件格式化VBA多个条件

    我对 VBA 世界非常陌生 需要一些关于条件格式的 VBA 方面的帮助 1 我需要将条件格式应用于列 M 7岁以下绿色 黄色从7 20 红色大于20 最重要的条件是 如果列 N 声明 NOPO 则我不希望应用条件格式 我已经制定了一个公式来
  • VBA半正矢公式

    我正在尝试将半正矢公式应用到Excel函数中 它看起来像这样 Public Function Haversine Lat1 As Variant Lon1 As Variant Lat2 As Variant Lon2 As Variant
  • 如何修复此错误“GDI+ 中发生一般错误”?

    从默认名称打开图像并以默认名称保存 覆盖它 我需要从 Image Default jpg 制作图形 将其放在 picturebox1 image 上并在 picurebox1 上绘制一些图形 它有效 这不是我的问题 但我无法保存 pictu
  • 使用 php 和 symfony 从数组创建 Excel 文件

    我正在尝试使用 PHP 和 symfony 将数组导出为 XLS 文件 如下面的代码所示 创建 XLS 文件后 我只能获取数组的最后一行 并且它显示在文件的第一行中 似乎 lignes 变量没有增加 我不明白出了什么问题 有人可以帮忙吗 f
  • 在 Flutter 中保存照片(尤其是保存到相机胶卷)

    我不知道如何保存到相机胶卷 相当于React Native的CameraRoll saveToCameraRoll https facebook github io react native docs cameraroll html sav

随机推荐

  • chrome 选项卡/窗口中的 window.open 行为

    我有一小段 javascript 旨在打开两个或更多选项卡 这在 FF 和 IE 中工作正常 但 chrome 会在新窗口而不是选项卡中打开第二个窗口 它不依赖于 url 因为我已经尝试过使用两个相同的 url 第一个在选项卡中打开 第二个
  • 如何将 browserify 与非 npm 库一起使用?

    根据http www slant co topics 1089 viewpoints 1 what are the best client side javascript module loaders browserify 9 http w
  • 编写一个 shell 脚本,find-greps 并在 1 行中输出文件名和内容

    要查看所有包含 abc 的 php 文件 我可以使用这个简单的脚本 find name php exec grep l abc 我可以省略 l 并且提取部分内容而不是文件名作为结果 find name php exec grep abc 我
  • 如何在 CSS 中将容器内的多个 div 居中

    我正在测试像 Windows Metro 风格的中心分隔线 container height 300px width 70 background EEE margin 10px auto position relative block ba
  • .NET 4 的条件编译[重复]

    这个问题在这里已经有答案了 可能的重复 条件编译和框架目标 https stackoverflow com questions 2923210 c sharp conditional compilation and framework ta
  • 选择查询不适用于使用Parameters.AddWithValue 的参数

    C 中的以下查询不起作用 但我看不出问题所在 string Getquery select from user tbl where emp id emp id and birthdate birthdate cmdR Parameters
  • JPA 将 BigDecimal 作为整数保存在数据库中

    我在数据库中有这个字段 ITEMCOST NUMERIC 13 DEFAULT 0 NOT NULL 在JAVA中 Entity中的字段定义如下 Column name ITEMCOST private BigDecimal itemCos
  • Python模块单元测试的最佳文件结构组织?

    遗憾的是 我发现有太多方法可以在 Python 中保存单元测试 而且它们通常没有很好的文档记录 我正在寻找一种 终极 结构 它可以满足以下大部分要求 be discoverable by test frameworks including
  • iOS SDK:MapKit MKPolyLine 未显示

    我试图在地图上显示多段线 但该线没有显示 我尝试了很多事情 但注意到似乎有用 我检查了核心数据函数 它正在返回数据 所以这不是问题 它必须是我在地图点创建或地图上绘制的某个地方 我猜 我确信一定是某个地方出了点小错误 但我找不到它 My c
  • 传递 Android DialogFragment 参数时,onCreateDialog 捆绑参数意外为 null

    我正在尝试使用 DialogFragment 在 Android 中显示一个基本对话框 并使用对话框消息的参数 如中所述StackOverflow线程 https stackoverflow com questions 15459209 p
  • jQuery 相当于 underscore.js 的 groupBy

    jQuery 中是否有一个内置函数可以执行相当于http underscorejs org groupBy http underscorejs org groupBy 有什么解决方法吗 Thanks 不 jQuery 不是为数据处理而设计的
  • 如何停止无限循环?

    我正在编写一个程序 该程序将计算三角形或正方形的面积 然后提示用户是否希望计算另一个 我的代码已经运行到可以计算任一形状的面积的程度 但随后不再继续执行代码的其余部分 例如 如果选择了正方形 则计算面积 然后返回到正方形边长的提示 我假设这
  • 使用 jQuery 从 ASP.Net JSON 服务获取数据

    我正在尝试调用 Google 地图地理编码 API 从纬度 经度对中获取格式化的地址 然后将其记录到控制台 我正在尝试获取为给定位置返回的第一个 formatted address 项目 我很简单无法从 JSON 中提取该项目 我不知道为什
  • 粘性背景图像/使用 CSS

    我目前正在创建我的第一个网站 并且即将完成 我在标题下为主体使用背景图像 我发现每个页面都有一个问题 因为它们的高度都不同 这使得我背景图像的当前设置放大图片以适合整个页面 我想做的是将背景图像设置为 粘性 我的想法是 背景图像将直接位于标
  • 如何从本地 asp.net 应用程序在 Azure Key Vault 中设置机密

    我有一个本地 asp net core 3 1 应用程序 我想在 Azure Key Vault 中设置机密 以下是我使用的来自微软的代码 string secretName xxSecret string keyVaultName Env
  • CUDA 8 编译错误 -std=gnu++11

    我正在尝试转换一些代码以使用 CUDA 并且我认为我遇到了兼容性问题 我们使用CMake 这些是我使用的 gcc 和 CUDA 版本 gcc version gcc Ubuntu 5 4 0 6ubuntu1 16 04 5 5 4 0 2
  • 如何检测日期选择器对话框的取消单击?

    我正在使用以下 日期选择器的示例 http developer android com guide tutorials views hello datepicker html http developer android com guide
  • 如何将库添加到 LIBGDX 项目的依赖项 gradle

    一切都在问题中 我已经尝试了在 SO 和其他网站中找到的所有答案 但没有运气 这就是我迄今为止尝试过的 adding compile fileTree dir lib include jar 到我的 build gradle adding
  • 在 C#.NET 中安全删除文件

    在我正在做的一个项目中 我想为用户提供 安全 删除文件的选项 例如 用随机位或 0 覆盖它 在 C NET 中是否有一种简单的方法可以做到这一点 效果如何 你可以调用系统内部删除 http technet microsoft com en
  • 从新的 xlsx 文件中删除宏

    功能部分 下面的代码将 xlsm 文件中的 2 个选项卡保存到新的 xlsx 文件中 文件保持打开状态以进行编辑 错误 xlsm 选项卡在工作表代码中有触发器 该触发器无效 一旦在 xlsx 工作表中输入任何内容 就会导致错误 所需输出 编