ExcelApp.Workbooks.SaveAs: HRESULT: 0x800A03EC - PullRequest
0 голосов
/ 02 мая 2019

В настоящее время я пытаюсь заставить мою программу VB.net «Сохранить как» книгу Excel, только чтобы получить исключение HRESULT: 0x800A03EC для фактической строки SaveAs.

Я проверил свой путь к файлу, и он в порядке иработает, так что я не знаю, на данный момент

Вот мой код, где я объявляю объекты, связанные с 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)

1 Ответ

0 голосов
/ 03 мая 2019

Я обнаружил проблему: имя, которое использовалось для сохранения файла, НЕ МОЖЕТ заканчиваться пробелом (""), и кажется, что мои пользователи делали это, не замечая этого. Поэтому я только что добавил этот фрагмент кода, и он работает как шарм.

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
...