Excel Datei beim bearbeiten kopieren in vb.net

Guten Morgen zusammen,

ich habe folgendes Problem,
ich bearbeite eine Excel-Datei in VS.10 und möchte diese beim betätigen eines Buttons (Button ist eingefügt), ins temp-Verzeichnis kopieren. Momentan versucht er mir Excel das auszuführende Programm zu kopieren.

Danke schon mal.

Linden

Guten Morgen zusammen,

ich habe folgendes Problem,
ich bearbeite eine Excel-Datei in VS.10 und möchte diese beim
betätigen eines Buttons (Button ist eingefügt), ins
temp-Verzeichnis kopieren. Momentan versucht er mir Excel das
auszuführende Programm zu kopieren.

Schön , und wie sollen wir das erkennen ? Du gehst also davon aus das wir alle dein Code sehen `Richtigt ?

Danke schon mal.

Linden

Da mein Code auf die falschen Pfade prüft, hab ich ihn hier nicht gezeigt. mir geht es ja darum das ich einen Befehl suche der den Pfad der geöffneten Excel-Datei findet und speichert.

Da mein Code auf die falschen Pfade prüft, hab ich ihn hier
nicht gezeigt. mir geht es ja darum das ich einen Befehl suche
der den Pfad der geöffneten Excel-Datei findet und speichert.

Besser wird dein erklärung nicht, du siehst dein code du siehst dein problem . Ich sehe nur das was du schreibst .
Weder weiss man warum dein code das excel programm speichert etc, was auch immer du da geschrieben hast.

Aus deinem Code (vermutlich hast du eh keinen) könnte man erkennen was du eigentlich willst und was es eigentlich falsch macht.

Aber ok, du willst keine Hilfe , bekommst auch keine Hilfe.

na wenn du unbedingt einen code willst…

Public Function Kopieren(ByVal Zielpfad As String) As Boolean

'progName = System.Reflection.Assembly.GetEntryAssembly().GetName().Name & „.xlsx“
quellpfad = Application.StartupPath

quelle = System.IO.Path.Combine(quellpfad, progName)
ziel = System.IO.Path.Combine(Zielpfad, progName)

Try
IO.File.Copy(quelle, ziel, True)
Return True
Catch ex As Exception
Return False
End Try
End Function

Sub subcopy()

My.Computer.FileSystem.CopyFile(My.Application.Info.DirectoryPath & „“ _
& My.Application.Info.AssemblyName & „.xlsx“, _
My.Computer.FileSystem.GetParentPath( _
My.Computer.FileSystem.SpecialDirectories.ProgramFiles) & „\temp“ & _
My.Application.Info.AssemblyName & „.xlsx“)

End Sub

In der Funktion wird die assemly gesucht aber die datei die ich brauche ist nicht vorhanden. Mit Subcopy such ich den pfad des ausführendes programmes, sprich ich bekomme den pfad der Excel.exe .

In beiden hab ich versucht den Pfad der zu öffnenden Datei zufinden, und diese Datei in tmp zu kopieren, damit das Programm jederzeit unabhängig vom Speicherort zu öffnen und zu bearbeiten.

Hallo!

Keine Chance so. Wenn Du nicht Excel fragst, welche Datei(en) es gerade in Bearbeitung hat, dann kommst Du von außen bestimmt nicht dran.
Es gibt keine allgemeine Schnittstelle, in der ein Programm die Dateien eintragen muss, mit denen es gerade hantiert, damit weiß nur das Programm selbst, welche Dateien es gerade bearbeitet und diese Info muss explizit offengelegt sein, damit Du rankommst.

Also: Hol’ Dir erst mal ein Excel Application-Objekt und dann schau’ Dir mal dessen Workbooks Collection an, die beinhaltet die momentan geöffneten Arbeitsmappen. Auf dem Weg könntest Du dann an die Dateinamen kommen.

Gruß,
Martin