ERLEDIGT
JA
JA
ANTWORTEN
13
13
ZUGRIFFE
1106
1106
EMPFEHLEN
-
18.04.10 08:35 #1
- Registriert seit
- May 2008
- Ort
- Sydney, Australien
- Beiträge
- 87
Hallo zusammen,
ich will Daten aus ein Excel Spreadsheet in eine Textbox einlesen. Dies funktioniert auch alles Wunderbar.
Nun wenn ich aber den kompletten Ordner auf einen anderen Computer kopiere funktioniert dies nicht mehr.
Wie kann ich meinen Code so umändern, dass er jedesmal die Datei findet?
hier m ein Code:
ich habe ausserdem noch ein Button in meiner Form1 integriert. Wenn ich auch diesen Button klicke öffnet dies diePHP-Code:Dim oexcel As Object = CreateObject("Excel.application")
Dim obook As Object = oexcel.workbooks.open("C:\Users\Home\Desktop\Product\User Details.xls")
Dim osheet As Object = obook.worksheets(1)
Dim n As Integer = 1
Dim testdata As String
obook.worksheets(1).unprotect()
testdata = osheet.Range("B2").Value 'Name of employee
ComboBox4.Items.Add(testdata)
entsprechende Excel Datei, welches unabhängig ist ob ich den kompletten Ordner auf einen anderen PC kopiere.
Ich benutze dafür den Code
Process.start("Product\User Details.xls")
Wie kann ich den Code oben ebenfals ändern, sodass der PC die Datei findet in ("Product\User Details.xls")
Für jeden Tip wäre ich Dankbar.
-
Hi
Du verwendest beim Auslesen der Datei einen absoluten Pfad, beim Öffnen einen Relativen.
Beim relativen Pfad wird ausgehend vom Ausführungsverzeichnis der Pfad zusammengebaut..
Du solltest also beim Auslesen der Datei auch einen relativen Pfad verwendenGrüße Nico
----------------------
Xing
----------------------
Zitat von Mark Twain (1835-1910)
Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
-
18.04.10 13:15 #3
- Registriert seit
- May 2008
- Ort
- Sydney, Australien
- Beiträge
- 87
Hallo,
ja nur habe ich keinen Plan wie ich das mache. Kannst du mir einen besseren Denkanstoss geben?
-
Hi

Absoluter Pfad: C:\Users\Home\Desktop\Product\User Details.xls (Pfad vom Device an)
Relativer Pfad: \Product\User Details.xls (Pfad relative vom Aufruf an)
Du musst einen relativen Pfad verwenden!Grüße Nico
----------------------
Xing
----------------------
Zitat von Mark Twain (1835-1910)
Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
-
18.04.10 14:45 #5
- Registriert seit
- May 2008
- Ort
- Sydney, Australien
- Beiträge
- 87
Hallo Nico,
ich glaube ich habe mich nicht deutlich ausgedrückt. Das mit dem relativen Pfad war mir klar, dass ist auch was ich erzielen möchte.
Denoch habe ich nicht bisher es geschafft bzw. wie ich dies mache, da ich ja Excel application aufrufen und von dort aus will er den Pfad haben
und kann mit einem relativen Pfad nichts anfangen.
-
Aso

Dann bau den Pfad doch mit Path.Combine() zusammen
Den Pfad deiner Anwendung kriegst du über Assembly.GetExecutingAssembly().Location. Den Dateinamen musst du dann abschneiden und über oben genannte Funktion die Neue Datei anhängen. (sollte auch mit Replace() gehen)Grüße Nico
----------------------
Xing
----------------------
Zitat von Mark Twain (1835-1910)
Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
-
20.04.10 02:12 #7
- Registriert seit
- May 2008
- Ort
- Sydney, Australien
- Beiträge
- 87
Ok, vielen Dank. Ich habe es bisher nicht geschafft das es funktioniert aber werde es weiter versuchen.
Werde mich nochmal melden wenn ich gar nicht weiter komme.
-
21.04.10 13:22 #8
- Registriert seit
- May 2008
- Ort
- Sydney, Australien
- Beiträge
- 87
Hallo Nico,
ich bin am ende angekommen und habe momentan keine andere Idee wie ich dies lösen könnte.
Ich habe folgenden Code ausprobiert jedoch funkt der auch nicht. Brauche einen neuen Tip von
einem Profi, bin nur ein Amateur der versucht seinen Job ein wenig leichter zu machen...
PHP-Code:Dim pfad As String
pfad = Application.StartupPath
pfad = Mid(pfad, 1, InStr(pfad, "common\User Details.xls"))
Dim oexcel As Object = CreateObject("Excel.application")
Dim obook As Object = oexcel.workbooks.open(pfad)
Dim osheet As Object = obook.worksheets(1)
'Dim n As Integer = 1
Dim testdata As String
obook.worksheets(1).unprotect()
testdata = osheet.Range("B2").Value 'Name of employee
ComboBox4.Items.Add(testdata)
-
Hi
Wieso nutzt du nicht die Funktionen, die ich dir genannt hab?!
Du sollte den Pfad mit Path.Combine zusammebauen! Das machst du nicht!
Setz an die Stelle im Code einen Breakpoint und schau dir auch mal an, was in den diversen Propertys steht!
Nochmal das vorgehen:
- Pfad abfragen, in dem die Exe läuft
- Path.Combine den neuen Pfad für deine Exceldatei zusammensetzen
- diesen Pfad an Excel übergeben.Grüße Nico
----------------------
Xing
----------------------
Zitat von Mark Twain (1835-1910)
Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
-
22.04.10 01:39 #10
- Registriert seit
- May 2008
- Ort
- Sydney, Australien
- Beiträge
- 87
Hallo Nico,
ja habe die Funktion nicht benutzt. Melde mich wieder...
-
22.04.10 03:03 #11
- Registriert seit
- May 2008
- Ort
- Sydney, Australien
- Beiträge
- 87
Hallo Nico,
die Funktion Combine.path hat proma funktioniert. Vielen Dank.
Jetzt aber zum naechsten Problem. Ich habe mein Programm auf dem Desktop in einen Ordener "3D" erstellt.
Nun erstelle ich in diesem 3D ordner einen neuen Ordner namens "common". In diesen Ordner common
kopiere ich mein Excel Datei rein. Mein Programm greift auf diese Excel datei zu, welche momentan auf dem Desktop sitzt.
Hier der Code:
Dim oexcel As Object = CreateObject("Excel.application")
Dim obook As Object = oexcel.workbooks.open("c:\desktop\3D Register.xls")
Dim osheet As Object = obook.worksheets(1)
Nun wuerde ich aber gerne es so machen, das mein programm nicht auf den Absoluten Pfad greift sondern auf meine relativen Pfad,
welcher ("common\3D Register.xls") ist. Jedoch kann mein Programm diese Datei nicht finden. Ich denke mal, da ich mit CreateObject arbeite und daher nicht mehr auf meine relativen pfad zurueck greifen kann.
Hast du eine Idee wie ich das mache?
-
Entschuldige, dass ich dein Problem nicht ganz verstehe, aber ich hoffe Folgendes hilft dir weiter:
Code :1 2 3 4 5 6 7 8 9
Dim sPfad As String = Application.StartupPath & "\common\3D Register.xls" Dim sSheet As String = "Tabelle1" Dim oExcel As Object = CreateObject("Excel.application") Dim oBook As Object = oExcel.workbooks.open(sPfad) Dim oSheet As Object = oBook.worksheets(sSheet) oExcel.Worksheets(sSheet).Select() MessageBox.Show(oSheet.range("A1").value.ToString)
-
23.04.10 11:22 #13
- Registriert seit
- May 2008
- Ort
- Sydney, Australien
- Beiträge
- 87
Hi NoFaiTh,
Perfect, das ist genau was ich versucht habe zu erzielen. Vielen vielen Dank.
-
Freut mich, wenn ich helfen konnte.
Gruß noFaith
Ähnliche Themen
-
Datei kann nicht gefunden werden
Von Sylvie10 im Forum C/C++Antworten: 5Letzter Beitrag: 01.07.10, 10:53 -
Die Webseite kann nicht gefunden werden
Von Meier22 im Forum NetzwerkeAntworten: 34Letzter Beitrag: 15.09.08, 19:23 -
Resource kann nicht gefunden werden
Von engelmarkus im Forum .NET WPF & SilverlightAntworten: 3Letzter Beitrag: 28.06.08, 10:03 -
font kann nicht gefunden werden?
Von freakcx im Forum PHPAntworten: 16Letzter Beitrag: 31.07.06, 21:57 -
netzwerk pfad kontte nicht gefunden werden
Von mashine-obf im Forum Microsoft WindowsAntworten: 6Letzter Beitrag: 18.10.05, 17:45





Zitieren

Login





