关于“ 不信任到Visual Basic Project 的程序连接”问题的处理

最近在做Excel报表处理的开发,需要用程序通过纵VBA脚本或宏来控制Excel的行为。在做一个例子程序的时候程序编译都没有问题,但运行时报这样的错误“ 不信任到Visual   Basic   Project   的程序连接”,翻译成英文就是“Programmatic Access to Visual Basic Project is not trusted ”,检查了一会,才发现是我的Excel对于宏执行的安全级别设置的太高了,把它降低,则就不会出现这样的错误了。具体解决过程如下:
打开Excel-》工具-》宏-》安全性-》可靠发行商,选中“信任对于Visiual Basic 项目的访问”,按确定即可。
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个使用 Visual Basic 编写的示例代码,可以将 Excel 文件转换为可执行文件。这个代码可以打开 Excel 文件并运行其中的宏或代码,并提供一些自定义选项和保护措施。你可以根据自己的需求进行修改和定制。 ```vb Sub ConvertToEXE() Dim strExcelFile As String Dim strMacroName As String Dim strOutputFile As String Dim objExcel As Object Dim objWorkbook As Object Dim objVBProject As Object Dim objVBComponent As Object Dim objTempFile As Object '选择 Excel 文件 strExcelFile = Application.GetOpenFilename("Excel Files (*.xlsm), *.xlsm") If strExcelFile = "" Then Exit Sub '选择要运行的宏或代码 strMacroName = Application.InputBox("Enter the macro or code to run:", "Macro or Code Name") If strMacroName = "" Then Exit Sub '选择输出文件名和路径 strOutputFile = Application.GetSaveAsFilename(FileFilter:="Executable Files (*.exe), *.exe") If strOutputFile = "" Then Exit Sub '创建 Excel 应用程序对象 Set objExcel = CreateObject("Excel.Application") objExcel.Visible = False '打开 Excel 文件并运行宏或代码 Set objWorkbook = objExcel.Workbooks.Open(strExcelFile) objExcel.Run strMacroName '保存并关闭 Excel 文件 objWorkbook.Close SaveChanges:=False '创建临时文件 Set objTempFile = objExcel.Application.FileDialog(2) objTempFile.InitialFileName = Environ("TEMP") & "\" objTempFile.FilterIndex = 1 objTempFile.Show '导出 VB 项目到临时文件夹中 Set objVBProject = objWorkbook.VBProject objVBProject.VBComponents("ThisWorkbook").Export objTempFile.SelectedItems(1) & ".bas" Set objVBComponent = objVBProject.VBComponents.Add(1) objVBComponent.Name = "Main" objVBComponent.CodeModule.AddFromFile objTempFile.SelectedItems(1) & ".bas" objVBProject.VBComponents.Remove objVBProject.VBComponents("ThisWorkbook") objVBComponent.Export objTempFile.SelectedItems(1) & ".dll" '关闭 Excel 应用程序对象 objExcel.Quit '创建 VB 编译器对象 Set objCompiler = CreateObject("VbIDE.VBCompiler") '编译 DLL 文件为可执行文件 objCompiler.CompileToExe objTempFile.SelectedItems(1) & ".dll", strOutputFile '删除临时文件 Kill objTempFile.SelectedItems(1) & ".bas" Kill objTempFile.SelectedItems(1) & ".dll" '打开输出文件夹 Shell "explorer.exe " & "/select,""" & strOutputFile & """", vbNormalFocus End Sub ``` 这个代码需要在 Visual Basic 编辑器中运行。打开 Excel 文件,按下 Alt + F11 组合键,打开 Visual Basic 编辑器,在模块中粘贴代码,然后按下 F5 键运行宏。 需要注意的是,这个代码只能在 Windows 系统中运行,并且需要安装 Visual Basic 编译器和 Excel 应用程序

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值