Vb.net 打开Excel文件并检查它是否';它是只读的
在尝试写入Excel文件之前,我需要检查它是否为只读。这是我的密码:Vb.net 打开Excel文件并检查它是否';它是只读的,vb.net,excel,file,Vb.net,Excel,File,在尝试写入Excel文件之前,我需要检查它是否为只读。这是我的密码: Private Sub ButtonTest_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonTest.Click Dim UnapprovedAcctFile As String = "W:\TOM\ERIC\Award_Letters\Accounting Files\Unapproved\" &am
Private Sub ButtonTest_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonTest.Click
Dim UnapprovedAcctFile As String = "W:\TOM\ERIC\Award_Letters\Accounting Files\Unapproved\" & StatVar.xlApp.Sheets("New Calculator Input").Range("D30").Value & ".xlsx"
Dim UnapprovedFileName = StatVar.xlApp.Sheets("New Calculator Input").Range("D30").Value & ".xlsx"
If Not IO.File.Exists(UnapprovedAcctFile) Then
MessageBox.Show("Could not locate the accounting file for this school. Please contact an administrator for assistance.")
Exit Sub
Else
StatVar.xlWBUnapprovedAcctFile = StatVar.xlApp.Workbooks.Open(UnapprovedAcctFile)
If GetAttr(UnapprovedFileName) And vbReadOnly Then
MessageBox.Show("File is read only.")
End If
End If
End Sub
它在这里抛出了一个异常:
If GetAttr(UnapprovedFileName) And vbReadOnly Then
例外情况是“文件”East.xlsx“未找到”。但是,该文件会打开,因此它确实存在。我想我需要引用没有路径的文件,但显然我有点偏离了这里。有什么建议吗?解决方案:
If StatVar.xlApp.ActiveWorkbook.ReadOnly = True Then
解决方案:
If StatVar.xlApp.ActiveWorkbook.ReadOnly = True Then
听起来你在使用相对路径。检查当前目录。当然有一个更简单的解决方案,但我会考虑一下这个想法。听起来你使用的是相对路径。检查当前目录。当然有一个更简单的解决方案,但我会考虑一下这个想法