使用Excel 12.0库打开Excel文件的权限被拒绝&;VB6
我以前在VB6应用程序中使用过很多次Excel,在尝试完成一些非常简单的事情时从未遇到过如此奇怪的问题 我正试图打开一个excel(xls或xlsx)文件并读取值,您可能会看到 当我试图打开文件时,我得到一个错误70(权限被拒绝)。奇怪的是,没有其他excel open实例(在task manager应用程序或流程中)。没有其他人试图访问该文件。我可以在excel中无警告地打开文件,也可以在VB6中使用基本的“打开文件以输入为#1”语法无错误地打开/读取/关闭文件。我可以使用Kill()删除文件,这样就不会出现目录权限问题-请帮助-我不知所措使用Excel 12.0库打开Excel文件的权限被拒绝&;VB6,vb6,excel,vba,Vb6,Excel,Vba,我以前在VB6应用程序中使用过很多次Excel,在尝试完成一些非常简单的事情时从未遇到过如此奇怪的问题 我正试图打开一个excel(xls或xlsx)文件并读取值,您可能会看到 当我试图打开文件时,我得到一个错误70(权限被拒绝)。奇怪的是,没有其他excel open实例(在task manager应用程序或流程中)。没有其他人试图访问该文件。我可以在excel中无警告地打开文件,也可以在VB6中使用基本的“打开文件以输入为#1”语法无错误地打开/读取/关闭文件。我可以使用Kill()删除文件
Dim xlApp As New Excel.Application
Dim xlWBook As Excel.Workbook
'Error Occurs Here
Set xlWBook = xlApp.Workbooks.Open(File)
Dim xlSheet As Excel.Worksheet
Set xlSheet = xlWBook.Sheets.Item(1)
Dim y As Integer
For y = 1 To 99999
If Len(xlSheet.Cells(y, 1)) > 0 Then
Send xlSheet.Cells(y, 1) & " - " & xlSheet.Cells(y, 2) & "<br>"
End If
Next
Set xlWBook = Nothing
Set xlApp = Nothing
Dim xlApp作为新的Excel.Application
将xlWBook设置为Excel.工作簿
“错误发生在这里
设置xlWBook=xlApp.Workbooks.Open(文件)
将工作表设置为Excel.工作表
设置xlSheet=xlWBook.Sheets.Item(1)
Dim y作为整数
对于y=1到99999
如果Len(xlSheet.Cells(y,1))>0,则
发送xlSheet.Cells(y,1)和“-”以及xlSheet.Cells(y,2)和“
”
如果结束
下一个
设置xlWBook=Nothing
设置xlApp=Nothing
-Jay能否打开新创建的空电子表格文档 如果这不起作用,可能是您的Excel安装需要重新注册。打开命令提示符并导航到安装Excel的文件夹,通常类似
cd "C:\Program Files\Microsoft Office\Office12"
然后使用选项/regserver启动Excel
excel.exe /regserver
如果这没有帮助,您可以转到控制面板->添加或删除程序,并开始修复Microsoft Office
另一件要检查的事情是是否加载了任何加载项。如果是,请尝试逐个禁用它们,并查看问题是否消失
如果问题仍然存在,您可能需要检查是否有可用的Office更新
我不知道这一切是否与您的问题有关,这是Office应用程序的标准故障排除技术
更新:使用Procmon进行故障排除可能会发现问题所在(请参阅)。可能不是拒绝权限的文件。只是想一想,您是否查看了Windows事件日志以查看是否可以在其中找到更多信息?excel文件中出现问题时可能会发生这种情况,一致性问题。该文件有点损坏
例如,图纸上有两个同名对象。问题是,我无法告诉您的文件是如何与此类“问题”一起保存的,但当Excel尝试打开它时,它会抛出此类错误。您是否检查了DCOM配置 今天有一个类似的问题,一个试图创建Excel的web服务。应用程序收到的访问被拒绝 在我的实例中,我必须添加internet来宾帐户才能对组件具有访问权限 您可以从开始->运行访问DCOM配置 键入DCOMCNFG-按enter键 然后浏览到组件服务/Computers/My Computer/DCOM配置/Microsoft Excel应用程序 右键单击,属性
设置在“安全”选项卡下。您似乎创建了一个新的Excel实例,但没有显式关闭它(即xlApp.Close,然后再将其设置为Nothing)。这可能是你的问题的原因 有时,如果从VBA调用Office应用程序时出现了一些松散的实例,那么这些应用程序就会失控。如果您在任务管理器中运行了一些Excel.exe,但在屏幕或任务栏上看不到应用程序,请杀死它们并重试
Dim xlApp As New Excel.Application
Dim xlWBook As Excel.Workbook
'Error Occurs Here
Set xlWBook = xlApp.Workbooks.Open(File)
没有定义要创建的文件。即
File="C:\myDocuments\myexcel.xlsx". 'Because File string is empty.
这是最好的答案。它将引导您找到解决方案。按照@0xA3提供的步骤操作。特别是在修复office时,请使用procmon对“拒绝访问”错误消息进行故障排除。使用Add电子表格方法是另一个很好的方法。我的团队中有人用这个方法解决了这个问题:我希望它对你有用