vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   RSS-Feeds  | Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2021
 
zurück
Rubrik: Dateisystem · Dateien allgemein   |   VB-Versionen: VB4, VB5, VB627.05.03
Geöffnete Datei kopieren

Ein kleiner Trick und es lassen sich auch Dateien kopieren, die von einer anderen Anwendung in Benutzung sind.

Autor:   Dieter OtterBewertung:     [ Jetzt bewerten ]Views:  24.502 
www.tools4vb.deSystem:  Win9x, WinNT, Win2k, WinXP, Vista, Win7, Win8, Win10 Beispielprojekt auf CD 

Haben Sie schon einmal versucht eine Excel-Datei zu kopieren, die aktuell von MS-Excel geöffnet ist?

FileCopy "c:\dokumente\Mappe1.xls", "d:\temp\mappe1.xls"

VB quittiert Ihnen obige Anweisung dann aber leider immer mit einem Laufzeitfehler 70 (Zugriff verweigert)

Mit einem kleinen Trick lassen sich solche Dateien aber dennoch kopieren

Statt der FileCopy-Anweisung verwenden wir einfach unsere eigene Kopier-Funktion. Die Datei wird hierzu im Binary-Mode geöffnet, der Inhalt ausgelesen und dann "kopiert".

Public Function CopyFile(ByVal sSource As String, _
  ByVal sDest As String) As Boolean
 
  Dim sFile As String
  Dim F As Integer
  Dim sBuffer As String
 
  On Error Goto ErrHandler
 
  ' Quelldatei öffnen und Inhalt auslesen
  F = FreeFile
  Open sSource For Binary Shared As #F
  sBuffer = Space$(LOF(F))
  Get #F, , sBuffer
  Close #F
 
  ' Zieldatei ggf. löschen, falls bereits existiert
  If Dir$(sDest) <> "" Then Kill sDest
 
  ' Zieldatei neu erstellen
  F = FreeFile
  Open sDest For Binary As #F
  Put #F, , sBuffer
  Close #F
 
  CopyFile = True
  On Error Goto 0
  Exit Function
 
ErrHandler:
  CopyFile = False
End Function

Dieser Tipp wurde bereits 24.502 mal aufgerufen.

Voriger Tipp   |   Zufälliger Tipp   |   Nächster Tipp

Über diesen Tipp im Forum diskutieren
Haben Sie Fragen oder Anregungen zu diesem Tipp, können Sie gerne mit anderen darüber in unserem Forum diskutieren.

Neue Diskussion eröffnen

nach obenzurück


Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
   

Druckansicht Druckansicht Copyright ©2000-2021 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel