VB:以只读文件打开

时间:2014-10-23 14:28:57

标签: vb.net excel

我正在开发一个程序,使用Excel VBA作为我的VB程序的一部分。我创建了一个程序,它将打开包含宏的工作簿并运行它。但由于某种原因,vb将工作簿作为只读文件打开。我不希望工作簿作为只读文件打开。下面是我用来打开工作簿的代码:

Imports System.Reflection
Imports Excel = Microsoft.Office.Interop.Excel
Imports System.Windows.Forms.DataVisualization.Charting

Public Class chart_Display

Dim oExcel As Excel.Application
Dim oBook As Excel.Workbook
Dim oBooks As Excel.Workbooks
Dim oSheet As Excel.Worksheet

Sub runMacro()

    'Start Excel and open the workbook containing macro
    oExcel = CreateObject("Excel.Application")
    oExcel.Visible = False
    oBooks = oExcel.Workbooks
    oBook = oBooks.Open("C:\Users\Joesph\Documents\Cynthia's Folder\Experiment\Testing Files\Test3.xlsm")

    'Run the macro
    oExcel.Run("Get18x17_14mil")
    oBook.Save()

End Sub
End Class

我有计时器,每x分钟运行一次宏,它会创建一个折线图。程序将继续循环,直到用户退出程序。 我之前使用过这段代码用于我的其他程序,它运行得很好。我不明白为什么。请帮助我,因为我仍然缺乏VB经验。谢谢。

1 个答案:

答案 0 :(得分:0)

首先确保它不是线程问题,正如其他人在评论中提到的那样。最简单的方法是在oBooks.Open()之前创建该文件的副本并使用该副本。

另一个问题可能是路径: 您通常需要管理员权限才能访问Windows上C:\ Users中的文件。确保你拥有它们。尝试从其他位置打开文件,以确保这不是问题所在。