vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB Skript (VBS)
Re: Betriebssystem aus Excel steuern - Daten kopieren 
Autor: me36835
Datum: 11.04.08 10:55

Hallo Mirko,

Diese Frage hättest Du besser ins VB Classic Einsteiger Forum geschieben.

Es geht so:

Öffne das VBA Fenster [Alt]+[F11]. Blende den Project Exploere ein [Strg]+[R] (oder übers Menü).

Öffne (Doppelklick) im Ordner Excel Objects das Tabellenblatt, das Deine Daten enthält.

Jetzt müsste ein leeres Fenster erscheien, in dem nur "Option Explicit" steht und über dem zwei Dropdown Felder sind, in denen "General" und "(Deklarations)" steht.

TIPP: Wenn "option Explicit" nicht drin steht, schreibe es rein und gehe im Menü (Extras - Optionen) in den Dialog und aktiviere die Option "Variablen Deklaration" erzwingen. Dann fallen Tippfehler bei Variablen bereits beid er Eingabe auf.

Jetzt wähle aus dem linken Dropdown das "Worksheet" und aus dem Rechten "BeforeDoubleClick".

Die Private Sub Worksheet_SelectionChange(ByVal Target As Range) ... End Sub kannste wiederlöschen. Wir arbeiten jetzt nur mit der

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As _
  Boolean)
 
End Sub
Die füllen wir jetzt mit leben. Zuerst Laden wir die Daten aus dem Arbeitsbaltt in Variablen:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As _
  Boolean)
Dim queS As String ' Quell Pfad
Dim zilS As String ' Ziel Pfad
Dim filS As String ' Datei Name
Dim WS as Excel.Worksheet ' Das Arbeitsbaltt
Dim rwL As Long ' Excel Zeile
set WS = Target.Tarent
rwL = Target.Tow
 
filS=WS.Cells(rwL,1).Text
queS=WS.Cells(rwL,2).Text
zilS=WS.Cells(rwL,3).Text
Msgbox "Kopiere:" & filS & vbcrlf &  "aus: " & queS & vbcrlf & "nach:" & zilS
 
Cancel=true
End Sub
Wenn Du jetzt eine Zelle in der Zeile mit Deinen Daten doppelt anklickst, erscheient eine Message Box, die Dir Deinen "Auftrag" annzeigt.

Jetzt müssen wir das auf die Files anwenden. Dazu greife ich auf das Scripting FileSystemObject zu, das hoffentlich auf Deinem Rechner mit drauf ist.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As _
  Boolean)
Dim queS As String ' Quell Pfad
Dim zilS As String ' Ziel Pfad
Dim filS As String ' Datei Name
Dim WS as Excel.Worksheet ' Das Arbeitsbaltt
Dim rwL As Long ' Excel Zeile
' Library Scripting C:\WINDOWS\system32\scrrun.dll Microsoft Scripting Runtime
Dim FSO As Object ' As Scripting.FileSystemObject
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Set FSO = CreateObject("Scripting.FileSystemObject")
 
set WS = Target.Tarent
rwL = Target.Tow
 
filS=trim(WS.Cells(rwL,1).Text)
queS=trim(WS.Cells(rwL,2).Text)
zilS=trim(WS.Cells(rwL,3).Text)
 
' Msgbox "Kopiere:" & filS & vbcrlf &  "aus: " & queS & vbcrlf & "nach:" & zilS
 
If Not FSO.FolderExists(queS) Then
    MsgBox "Quellverzeichnis " & vbcrlf & queS & vbcrlf & "nicht gefunden", _
           vbCritical+vbOKOnly, "ABBRUCH"
    WS.Cells(rwL,4)="ABBRUCH Quellverzeichnis nicht gefunden"
    Exit Sub
END IF
 
If Not FSO.FolderExists(zilS) Then
    MsgBox "Zielverzeichnis " & vbcrlf & zilS & vbcrlf & "nicht gefunden", _
           vbCritical+vbOKOnly, "ABBRUCH"
    WS.Cells(rwL,4)="ABBRUCH Zielverzeichnis nicht gefunden"
    Exit Sub
END IF
 
If right(queS,1) <> "\" Then ques=ques & "\"
If right(zilS,1) <> "\" Then zilS=zilS & "\"
 
ques=ques & fils
zilS=zilS & filS
 
If Not FSO.FileExists(queS) Then
    MsgBox "Quelldatei " & vbcrlf & queS & filS & vbcrlf & "nicht gefunden", _
           vbCritical+vbOKOnly, "ABBRUCH"
    WS.Cells(rwL,4)="ABBRUCH Quelldatei nicht gefunden"
    Exit Sub
END IF
 
If FSO.FileExists(zilS) Then
    WS.Cells(rwL,4)="Zieldatei wird überschrieben"
END IF
 
FSO.CopyFile ques, zils, true
 
IF WS.Cells(rwL,4).text="Zieldatei wird überschrieben" Then
    WS.Cells(rwL,4)="Zieldatei überschrieben"
ELSE
    WS.Cells(rwL,4)="Datei kopiert"
End if
Cancel=true
End Sub
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Betriebssystem aus Excel steuern - Daten kopieren1.682Mirko Lindgens10.04.08 08:46
Re: Betriebssystem aus Excel steuern - Daten kopieren1.298me3683511.04.08 10:55
Re: Betriebssystem aus Excel steuern - Daten kopieren941Mirko Lindgens14.04.08 11:33
Re: Betriebssystem aus Excel steuern - Daten kopieren1.075Mirko Lindgens28.05.08 11:04

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 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