relative Datei Angabe funktioniert nicht



  • also ich habe es ausprobiert und er sagt mir das ein Objekt verweis fehlt.



  • Dann zeig mal den code mit dem du es probiert hast.



  • Das ist der Code.

    [/code]
    private void button1_Click(object sender, EventArgs e)
    {
    Microsoft.Office.Interop.Excel.Application excel = null;
    Workbook wb = null;

    // Excel starten
    excel = new Microsoft.Office.Interop.Excel.Application();
    excel.Visible = false;

    // Datei öffnen

    wb = excel.Workbooks.Open (@"H:\Programme\C#\Text_Datei_Lesen\Text_Datei_Lesen\dBEL.xlsx", ExcelKonstanten.UpdateLinks.DontUpdate,
    ExcelKonstanten.ReadOnly,
    ExcelKonstanten.Format.Nothing,
    "", // Passwort
    "", // WriteResPasswort
    ExcelKonstanten.IgnoreReadOnlyRecommended,
    XlPlatform.xlWindows,
    "", // Trennzeichen
    ExcelKonstanten.Editable,
    ExcelKonstanten.DontNotifiy,
    ExcelKonstanten.Converter.Default,
    ExcelKonstanten.DontAddToMru,
    ExcelKonstanten.Local,
    ExcelKonstanten.CorruptLoad.NormalLoad);

    code="cs"]



  • Und du hast es mit

    string path=Path.Combine(Application.StartupPath, "dBEL.xlsx");
    excel.Workbooks.Open (path, //...
    

    versucht ? Oder wie hast du das mit dem relativen Pfad aufgesetzt ?



  • Ja klar ist C#

    Wenn ich es so schreibe

    string path=Path.Combine(Application.StartupPath, "dBEL.xlsx");

    gibt er denn Fehler:
    Fehler 1 "Application" ist ein mehrdeutiger Verweis und kann "System.Windows.Forms.Application" oder "Microsoft.Office.Interop.Excel.Application" sein. H:\Programme\C#\Text_Datei_Lesen\Text_Datei_Lesen\Form1.cs 32 36 Text_Datei_Lesen

    Und wenn ich es eindeutig zu weise zur "Microsoft.Office.Interop.Excel.Application" mit :

    string path = Path.Combine**(_Application**.StartupPath, "dBEL.xlsx");

    kommt der Fehler:

    Fehler 1 Für das nicht statische Feld, die Methode oder die Eigenschaft "Microsoft.Office.Interop.Excel._Application.StartupPath.get" ist ein Objektverweis erforderlich. H:\Programme\C#\Text_Datei_Lesen\Text_Datei_Lesen\Form1.cs 32 36 Text_Datei_Lesen



  • Geht's damit?

    string file = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + "\\dBEL.xlsx";
    


  • Zu dem mehrdeutigen Verweise: Sprich die Klasse mal mit vollem Namen an, d.h. statt nur "Application" halt "System.Windows.Forms.Application".
    Du musst diese nehmen, nicht die von Excel.



  • Sorry, daß es auch (noch) eine andere gleichnamige Klasse (außer unter System.Windows.Forms bzw. bei WPF) gibt, wußte ich nicht...



  • DarkShadow44 schrieb:

    Zu dem mehrdeutigen Verweise: Sprich die Klasse mal mit vollem Namen an, d.h. statt nur "Application" halt "System.Windows.Forms.Application".
    Du musst diese nehmen, nicht die von Excel.

    Ja stimmt.

    Aber jetzt klappe es danke euch



  • Noch eine andere Frage vieleicht könnt ihr mir auch dabei Helfen.

    Ich lese aus einer Excel Datei ein Datenbereich von z.b. 6 Zellen aus.

    habe das mit

    Range range = (Range)ws.get_Range("Range6Z");

    nun möchte ich den Bereich in einer Textbox darstellen.

    Wenn ich das direkt zuweise kriege ich System.Object[,]
    als Textausgabe.
    Ich deken mann müsste die Zellen separieren können und über eine Schleife vieleicht Ausgeben.


Anmelden zum Antworten