2016-04-20 8 views
0

Ich kann Excel-Blatt durch eine Anwendung nicht speichern Ich habe in Vb 2010.It ist in der Lage, eine Datei zu erstellen und gibt alle Daten zugewiesen aber gibt eine COM-Ausnahme nicht behandelt, wenn es trifft der Save-Befehl: -

xlWorkBook.SaveAs ("C: \ ABC", "xlsx")

ich Verweise hinzugefügt habe in meinem Visual Studio Excel 2010nicht speichern Excel-Blatt über Vb2010

Unten ist der Code ich verwende: -

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click 

    Dim xlApp As New Excel.Application 
    Dim xlWorkBook As Excel.Workbook 
    Dim xlWorkSheet As Excel.Worksheet 

    'Add a New Workbook 
    xlWorkBook = xlApp.Workbooks.Add 

    'Display Excel 
    xlApp.Visible = False 

    'Set the relebant sheet that we want to work with 
    xlWorkSheet = xlWorkBook.Sheets("Sheet1") 

    With xlWorkSheet 
     'Directly type the values that we want 
     .Range("A1").Value = "Company Name" 
     .Range("A2").Value = "Product Name" 
     .Range("A3").Value = "Budget" 
     .Range("A4").Value = "Expected Delivery" 

     .Range("B1").Value = "hi" 
     .Range("B2").Value = "hh" 
     .Range("B3").Value = "qw" 
     .Range("B4").Value = "qw" 
    End With 

    'Save the file 
    xlWorkBook.SaveAs("C:\ABC", "xlsx") 

    'Close the file 
    'xlWorkBook.Close() 

End Sub 
+0

Haben Sie Ihre Anwendung "Als Administrator" ausgeführt? –

Antwort

2

Verwendung:

xlWorkBook.SaveAs("C:\ABC.xlsx") 
0

Ändern Sie Code wie:

''Add a New Workbook 

    Dim AppExcel As New Excel.Application 
    Dim Classeur As Excel.Workbook = AppExcel.Workbooks.Add() 
    Dim xlWorkSheet As Excel.Worksheet = Classeur.ActiveSheet 
    'Display Excel 
    AppExcel.Visible = False 

    'Set the relebant sheet that we want to work with 

    With xlWorkSheet 
     'Directly type the values that we want 
     .Range("A1").Value = "Company Name" 
     .Range("A2").Value = "Product Name" 
     .Range("A3").Value = "Budget" 
     .Range("A4").Value = "Expected Delivery" 

     .Range("B1").Value = "hi" 
     .Range("B2").Value = "hh" 
     .Range("B3").Value = "qw" 
     .Range("B4").Value = "qw" 
    End With 

    'Save the file 

    xlWorkSheet.SaveAs("C:\ABC3.xlsx" 
0

Beide oben genannten Antworten richtig, aber fehlende Erklärungen scheint.

Ausdruck .SaveAs (Filename, Fileformat, Passwort, WriteResPassword, ReadOnlyRecommended, Create, Accessmode, ConflictResolution, AddToMru, TextCodepage, Textvisuallayout, Local)

Oben ist excel SaveAs Methode alle Parameter zu sein wahlweise.

Filename 
Optional 
Variant 

Eine Zeichenfolge, die den Namen der Datei gespeichert werden anzeigt. Sie können einen vollständigen Pfad einschließen; Wenn nicht, speichert Microsoft Excel die Datei in den aktuellen Ordner.

Wichtiger Teil in oben ist der Name, den Sie verpasst haben.

FileFormat 
Optional 
Variant 

Das Dateiformat zu verwenden, wenn Sie die Datei speichern. Eine Liste der gültigen Auswahlmöglichkeiten finden Sie in der XlFileFormat-Enumeration. Für eine vorhandene Datei ist das Standardformat das letzte angegebene Dateiformat. Für eine neue Datei ist der Standardwert das Format der verwendeten Excel-Version.

Sie haben einen Fehler, weil Sie den Pfad ohne Dateinamen angegeben haben. Ändern dieser Linie

xlWorkBook.SaveAs("C:\ABC", "xlsx") 

zu xlWorkBook.SaveAs ("C: \ ABC.xlsx") ein Problem behebt.

References to other info.

0
Imports Excel = Microsoft.Office.Interop.Excel 

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click 

    Dim xlApp As New Excel.Application 
    Dim xlWorkBook As Excel.Workbook 
    Dim xlWorkSheet As Excel.Worksheet 
     xlWorkBook = xlApp.Workbooks.Add 
     xlApp.Visible = False 
     xlWorkSheet = xlWorkBook.Sheets("Sheet1") 
    With xlWorkSheet 
     'Directly type the values that we want 
     .Range("A1").Value = "Company Name" 
     .Range("A2").Value = "Product Name" 
     .Range("A3").Value = "Budget" 
     .Range("A4").Value = "Expected Delivery" 

     .Range("B1").Value = "hi" 
     .Range("B2").Value = "hh" 
     .Range("B3").Value = "qw" 
     .Range("B4").Value = "qw" 
    End With 
     xlWorksheet.SaveAs("C:\ABC", "xlsx") 
    End Sub 
+0

bist du glücklich mit diesem Programm dann teile es – Jln

Verwandte Themen