ExcelApp.Workbooks.SaveAs:HRESULT:0x800A03EC

ExcelApp.Workbooks.SaveAs : HRESULT : 0x800A03EC

我目前正在尝试将我的 VB.net 程序添加到 "SaveAs" 一个 Excel 工作簿,只是在实际的 SaveAs 行上出现异常 HRESULT : 0x800A03EC。

我检查了我的文件路径,它很好并且可以工作,所以我现在一无所知

这是我声明 Excel 相关对象的代码

Dim ExcelApp As New Interop.Excel.Application()
Dim Classeur = ExcelApp.Workbooks.Open("C:\Program Files (x86)\Software_name\template.xlsx")
Dim Feuille = Classeur.Sheets("sheet_name")

然后我声明从文本框获得的值

Dim FileName As String = Textbox1.text + Textbox2.text +  Textbox3.text

Dim FilePath As String = "\192.168.1.xxx\some\folders\where\names\never\change\" & Date.Today.Year & "\" & FileName & "\"

MkDir(FilePath)

Dim StrPath As String = FilePath & FileName & ".xlsx" 'So I create a document named after FileName

然后我用

保存
'This works
Classeur.ActiveSheet.ExportAsFixedFormat(Excel.XlFixedFormatType.xlTypePDF, FilePath & FileName & ".pdf")

'This doesn't works
Classeur.SaveAs(StrPath)

我最终发现了问题:用于保存文件的名称不能以 space(“”)结尾,而且我的用户似乎在没有真正注意到的情况下这样做了。所以我刚刚添加了这段代码,效果非常好。

Dim NameLength As Integer
Dim NameText As String

NameText = TextBox.Text
If Strings.Right(NameText, 1) = " " Then
   NameLength = NameText.Length - 1
   NameText = Strings.Left(NameText, NameLength)
End If