Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
904to908
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
904to908
904to908
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Immer noch Probleme mit dem sync von Daten

Immer noch Probleme mit dem sync von Daten
16.09.2007 13:02:00
Daten
Hallo an alle,
ich habe mal wieder einige Probleme.
und zwar möchte ich gerne den Ordner in der meine Excel Mappe liegt aktualisieren hierzu gibt es bei uns im netz einen Pfad aus den ich die Daten bekomme!
hierzu hatte ich schon hilfe von euch
https://www.herber.de/forum/archiv/904to908/t905705.htm
da ich mir jetzt gedacht hatte das ich die erwähnte bat Datei beim ausführen des
Makros selbst erstellen möchte / da ich die beiden Pfad angaben Variabel halten möchte.
(und dieses realisieren möchte ohne das jedesmal in der bat datei was geändert werden muß)
habe ich mir dieses Makro gebaut,

Sub copy_bat_erzeugen()
'am 16.09.2007/S.Mohr erstellt
Dim intMarke As Integer
Dim strTemp As String, strName As String, strWorkbookName As String
Dim strLW1 As String, strLW2 As String, strXCopy As String, strParameter As String
Dim strBefehl As String
strLW1 = Worksheets("Prog").Cells(2, 1).Value & "\pdf\"
strLW2 = ThisWorkbook.path
strXCopy = "Xcopy "
strParameter = " /E/V/F/H/K/R/I"
'** Es wird eine Tabelle in eine text Datei gespeichert
strWorkbookName = ThisWorkbook.Name
'*** workbook einfügen ***'
Workbooks.Add
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:= _
ThisWorkbook.path & "\Copy" & ".bat", FileFormat:= _
xlText, CreateBackup:=False
'*** Zellen einfügen ***'
strBefehl = strXCopy & """" & strLW1 & """ """ & strLW2 & """" & strParameter
Cells(1, 1).Value = strBefehl
'*** Datei Speichern als txt File ***'
ActiveWorkbook.Save
ActiveWindow.Close
'*** Zurück auf das Projekt ***'
Windows(strWorkbookName).Activate
Cells(1, 1).Select
End Sub


Hierzu hatte ich auch schon hilfe in folgendem Thread
https://www.herber.de/forum/archiv/904to908/t907065.htm
irgendwie habe ich wenn ich mir nach dem erzeugen mmit diesem Makro aber die " Zeichen immer noch nicht an der Stelle wo ich sie gerne hätte meine bat Datei enthäkt dxerzeit folgenden string:
"Xcopy ""\\FILE02\IABO\ibo_tec\Hardware_Eng\Probecards\Excel Makros\Projekt Nr.14 Probecard Design Rev_2\pdf\"" ""D:\Projekt Nr.14 Probecard Design Rev_2"" /E/V/F/H/K/R/I"
die "-Zeichen stimmen immer noch nicht, kann es damit zusammenhängen das ich beim erzeugen der datei in excel die datei dann als txt abspeichere?
Hat jemand eine Idee was bei meiner Idee nicht funtzt oder evtl. einen anderen Lösungsnsatz!
gruß
swen

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Immer noch Probleme mit dem sync von Daten
16.09.2007 15:55:00
Daten
Hallo an alle,
ich habe es geschaft!
so sieht mein code jetzt aus!

Sub copy_bat()
'am 16.09.2007 erstellt
Dim smsg As String, spath As String
Dim iCol As Integer, iRow As Long, strTmp As String
Dim strName As String
Dim strLW1 As String, strLW2 As String, strXCopy As String, strParameter As String
Dim strBefehl As String, strBefehl1 As StdFont, strBefehl2 As String
strLW1 = Worksheets("Prog").Cells(2, 1).Value
strLW2 = ThisWorkbook.path
strXCopy = "Xcopy "
strParameter = " /E/V/F/H/K/R/I"
strBefehl = strXCopy & """" & strLW1 & "\pdf" & """ """ & strLW2 & "\pdf" & """" &  _
strParameter
strBefehl1 = strXCopy & """" & strLW1 & "\txt" & """ """ & strLW2 & "\txt" & """" &  _
strParameter
strBefehl2 = strXCopy & """" & strLW1 & "\pic" & """ """ & strLW2 & "\pic" & """" &  _
strParameter
Worksheets.Add
ActiveSheet.Name = "Copy"
Worksheets("Copy").Cells(1, 1).Value = strBefehl
Worksheets("Copy").Cells(2, 1).Value = strBefehl1
Worksheets("Copy").Cells(3, 1).Value = strBefehl2
If Worksheet_suchen("Copy") = True Then
'Wenn ja,... auswählen
Worksheets("Copy").Select
'Variable mit einem Wert aus der Zelle G1 füllen
strName = "Copy"
'** Es wird eine Tabelle in eine cad/txt Datei gespeichert
'Datei virtuell öffnen
Open ThisWorkbook.path & "\" & strName & ".bat" For Output As #1
'Bezugnehmen auf das Sheet damit die Befehle kürzer geschrieben werden können
'dazu müssen die Verweise mit einem Punkt vorangesetzt werden
With ThisWorkbook.Sheets("copy")
'Festlegen der Zeile mit dem letzten Eintrag
For iRow = 1 To .Cells(Rows.Count, 1).End(xlUp).Row
'Variable leer stellen
strTmp = ""
'festlegen der letzten beschriebenen Spalte in Zeile "iRow"
For iCol = 1 To .Cells(iRow, Columns.Count).End(xlToLeft).Column
'Zusammensetzen der Werte der einzelnen Zellen
strTmp = .Cells(iRow, iCol) & ","
Next iCol
'Schreiben des Strings ohne das letzte Komma
strTmp = VBA.Left(strTmp, Len(strTmp) - 1)
'Schreiben in die virtuelle Datei
Print #1, strTmp
Next iRow
End With
'Virtuelle Datei schliessen
Close #1
End If
Stop
Application.DisplayAlerts = False
Worksheets("Copy").Delete
Stop
Shell ThisWorkbook.path & "\Copy.bat"
End Sub


Gruß
Swen

Anzeige
AW: Immer noch Probleme mit dem sync von Daten
16.09.2007 15:58:00
Daten
Hallo
Aus welchem Forum hast du denn das erhalten ?
Denn dass du das selbst gemacht hast glaube ich nicht ;-)
Gruss Rainer

AW: Immer noch Probleme mit dem sync von Daten
16.09.2007 15:55:37
Daten
Hallo
Das geht so
Option Explicit

Sub Create_Copy_Bat()
    'am 16.09.2007/S.Mohr erstellt
    Dim strQuelle As String, strTarget As String
    Dim strXCopy As String, strParameter As String, strFileType As String
    'Zielpfad ohne abschliessenden Backslash !!
    strTarget = Worksheets("Prog").Cells(2, 1).Value & "\pdf"
    'Quelle definieren ohne abschliessenden Backslash !!
    strQuelle = ThisWorkbook.Path
    'Kein Leerzeichen dahinter, das hast du schon in "strParameter" !
    strXCopy = "Xcopy"
    'Alle Dateien
    strFileType = "*.*"
    'Ohne Leerzeichen, die werden im String gesetzt
    strParameter = "/E/V/F/H/K/R/I"
    'Erstellen der BAT-Datei
    'Datei virtuell öffnen
    Open ThisWorkbook.Path & "\Copy" & ".bat" For Output As #1
    'String schreiben
    Print #1, strXCopy & " " & strQuelle & "\" & strFileType & " " & strTarget & "\" & strFileType & " " & strParameter
    'Virtuelle Datei schliessen
    Close #1
End Sub

Gruss Rainer

Anzeige
AW: Immer noch Probleme mit dem sync von Daten
16.09.2007 16:43:11
Daten
Hallo Rainer,
ich hatet so etwas schonmal mit Erich (und schauan) hier im Forum besprochen,
https://www.herber.de/forum/archiv/868to872/t869146.htm
hatte mich dran errinnert und mir das nochmal angeschaut.
Stimmt also das ich so etwas noch nicht selber entwickeln kann, aber ich werde weiter üben und dann irgendwan auch selber solche Ideen haben!
Danke für deine optimierung da war ich auch gerade dran, ich habe auch einige SAchen geshen die ich raus nehmen kann!
Vielen Dank!
Eine Frage hätte ich noch!
Wenn ich folgenden Befehl dann starte um die bat-datei zu starten wird das shell Fenster (sagt man so?)
minimiert auf meinem Monitor nur angezeigt, kann man dieses Fenster auch maximieren?
Gruß
Swen
Gruß
Swen

Anzeige
AW: Immer noch Probleme mit dem sync von Daten
17.09.2007 00:36:00
Daten
Hallo
"...aber ich werde weiter üben und dann irgendwan auch selber solche Ideen haben!..."
Schön
"...kann man dieses Fenster auch maximieren?..."
Dann fang mal an mit dem Ideen haben :-)
Als erstes empfehle ich hierzu einen Blick in die VBA-Online Hilfe unter dem Suchbegriff "Shell".
Gruss Rainer

AW: Immer noch Probleme mit dem sync von Daten
17.09.2007 21:34:37
Daten
oki, werde mein bestes geben.
danke für deine geduld!
gruß
swen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige