Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

xls ins Archiv verschieben

Frage Entwicklung Batch & Shell

Mitglied: Bacaaardi

Bacaaardi (Level 1) - Jetzt verbinden

18.09.2007, aktualisiert 21.09.2007, 2929 Aufrufe, 6 Kommentare

Hallo ich versuche ein Skript zu bauen in dem aus den Dateien daten.xls und info.xls jeweils immer die ersten 3 Zeilen und die letzte Zeile gelöscht wird.


Jeden Tag speichern wir eine neue daten.xls und info.xls in den Ordner.
Dabei werden die Dateien vom Vortag überschrieben. Ist es möglich anstatt die Daten zu überschreiben, die „alten“ Daten in den Ordner „Archiv“ zu verschieben am Besten mit dem Datum vor dem Dateinamen, z.B. 18.09.07_daten.xls und 18.09.07_info.xls.
Die neuen Daten heissen dann weiterhin daten.xls und info.xls nur der „Altbestand“ wird in den Ordner Archiv verschoben mit dem Datumszusatz.

Optimal wäre es wenn dies in 1 Schritt passieren würde, Zeilen löschen und archivieren ;)



Gruß Julia
Mitglied: bastla
18.09.2007 um 17:52 Uhr
Hallo Bacaaardi!

Das Archivieren selbst ist rein handwerklich etwa so zu lösen:
01.
Sub Archivieren() 
02.
Dim fso As Object, Dat As String, Dateien() As Variant, Datei As Variant 
03.
 
04.
Const Arbeit As String = "D:\Arbeitsordner" 'Quellordner 
05.
Const Archiv As String = "D:\Archivordner"  'Zielordner 
06.
Dateien = Array("daten", "info")            'Liste der Dateien 
07.
 
08.
Set fso = CreateObject("Scripting.FileSystemObject") 
09.
Dat = Format(Now, "YYYY-MM-DD") 'Datumsformat hier festlegen 
10.
For Each Datei In Dateien() 
11.
    If fso.FileExists(Arbeit & "\" & Datei & ".xls") Then 
12.
        fso.CopyFile Arbeit & "\" & Datei & ".xls", Archiv & "\" & Dat & "_" & Datei & ".xls", True 
13.
        fso.DeleteFile (Arbeit & "\" & Datei & ".xls") 
14.
    End If 
15.
Next 
16.
End Sub
Gleichnamige Dateien (vom selben Tag) im Archivordner werden in dieser Version durch die umbenannten Dateien aus dem Arbeitsordner überschrieben. Als Datumsformat würde ich allerdings eher zu "2007-09-18" tendieren (und habe es oben auch so verwendet). Dieses lässt sich aber leicht ändern (siehe "Format(...)").

Das "Verschieben" wird als Kombination von "Kopieren" (mit Überschreiben schon vorhandener Zieldateien) und nachfolgendem Löschen der Quelldateien ausgeführt, wobei eine etwas sicherere Variante anstatt die kopierten Dateien zu löschen diese einfach von den nachfolgenden Dateien überschreiben ließe.
Zum Thema "aus den Dateien daten.xls und info.xls jeweils immer die ersten 3 Zeilen und die letzte Zeile löschen" wäre anzumerken, dass Excel-Dateien keine Zeilen enthalten, sondern etwa Tabllenblätter mit Zeilen, und dass ich ohne zusätzliche Informationen als die "ersten 3 Zeilen" die Zeilen 1 bis 3 und als "letzte Zeile" die Zeile 65536 oder ihr Excel 2007-Pendant betrachten würde (was ja vermutlich nicht gemeint sein dürfte ) ...

Grüße
bastla
Bitte warten ..
Mitglied: Bacaaardi
19.09.2007 um 08:16 Uhr
Und das ist ein Makro welches ich in Excel einfügen soll??
Bitte warten ..
Mitglied: Bacaaardi
19.09.2007 um 09:25 Uhr
Vielen Dank, hat im Test teilweise geklappt (wobei der Fehler sicher bei mir liegt ;)

Leider hat mein Chef die Forderung umgeschmissen.

er will jetzt folgendes

Ich hab eine Datei Statistik.xls, dies macht über ein Makro 2 Webabfragen und speichert eine als daten.xls und die andere als info.xls ab. (Konnte die Webabfrage jetzt allein automatisieren, freu ;)

Da diese beiden Dateien aber berits vom Vortag bestehen, sollen die vorhandenen mit Datum im Dateinamen in der Ordner Archiv verschoben werden und die des aktuellen Tags im "normalen" Ordner als daten.xls und info.xls


Hier mein Makro (kann man die Archivierung hier einbauen??) Wenn ja wie
Als eigenes Makro, oder im gleichen Makro wie die Webabfrage?

01.
 
02.
Sub Makro4() 
03.
04.
' Makro4 Makro 
05.
' Makro am 19.09.2007 von mir aufgezeichnet 
06.
07.
 
08.
09.
Workbooks.Add 
10.
With ActiveSheet.QueryTables.Add(Connection:= _ 
11.
"URL;http://meinedomain.de" _ 
12.
, Destination:=Range("A1")) 
13.
.Name = _ 
14.
"order=DESC&tempMax=3000&os_username=xxx&os_password=xxx" 
15.
.FieldNames = True 
16.
.RowNumbers = False 
17.
.FillAdjacentFormulas = False 
18.
.PreserveFormatting = True 
19.
.RefreshOnFileOpen = False 
20.
.BackgroundQuery = True 
21.
.RefreshStyle = xlInsertDeleteCells 
22.
.SavePassword = False 
23.
.SaveData = True 
24.
.AdjustColumnWidth = True 
25.
.RefreshPeriod = 0 
26.
.WebSelectionType = xlSpecifiedTables 
27.
.WebFormatting = xlWebFormattingNone 
28.
.WebTables = """issuetable""" 
29.
.WebPreFormattedTextToColumns = True 
30.
.WebConsecutiveDelimitersAsOne = True 
31.
.WebSingleBlockTextImport = False 
32.
.WebDisableDateRecognition = False 
33.
.WebDisableRedirections = False 
34.
.Refresh BackgroundQuery:=False 
35.
End With 
36.
Range("A1:K1").Select 
37.
Selection.Font.Bold = True 
38.
With Selection 
39.
.HorizontalAlignment = xlCenter 
40.
.VerticalAlignment = xlBottom 
41.
.WrapText = False 
42.
.Orientation = 0 
43.
.AddIndent = False 
44.
.IndentLevel = 0 
45.
.ShrinkToFit = False 
46.
.ReadingOrder = xlContext 
47.
.MergeCells = False 
48.
End With 
49.
With Selection.Interior 
50.
.ColorIndex = 15 
51.
.Pattern = xlSolid 
52.
End With 
53.
Range("A2").Select 
54.
ChDir "C:\Dokumente und Einstellungen\ich\Desktop" 
55.
ActiveWorkbook.SaveAs Filename:= _ 
56.
"C:\Dokumente und Einstellungen\ich\Desktop\arvato.xls", FileFormat:= _ 
57.
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _ 
58.
, CreateBackup:=False 
59.
ActiveWindow.Close 
60.
End Sub 
61.
 
Bitte warten ..
Mitglied: bastla
19.09.2007 um 14:24 Uhr
Hallo Bacaaardi!

Vielen Dank, hat im Test teilweise geklappt ...
Das ist wenigstens einmal ein Feedback, mit dem man etwas anfangen kann ...

Hier mein Makro (kann man die Archivierung hier einbauen??)
Obwohl nicht wirklich zu erkennen ist, an welcher Stelle die beiden Dateien gespeichert werden: ja - solange Du die Archivierung vorher machst .

Grüße
bastla

P.S.: Ich nehme an, Dein anderer Thread könnte mit einen Verweis auf diesen hier abgeschlossen werden ...
Bitte warten ..
Mitglied: Bacaaardi
21.09.2007 um 09:12 Uhr
Also mein Chef hat die komplett Forderung umgeschmissen


Ich mache jetzt aus meiner Datei ein Makro (über Button) welches mir eine neue Webabfrage erzeugt.
Es wird ein neues xls geöffnet, die Web-Daten werden importiert. Und dann wird die Datei als daten.xls gespeichert.

Klappt alles wunderbar. Aber da diese Webafrage 1mal täglich gemacht wird und diese immer als daten.xls gespeichtert werden soll. muss die daten.xls vom Vortag archiviert werden bevor Sie von der aktuellen überschrieben wird.
D.h. die Datei muss mit Datumspräfix+Dateiname in den Ordner Archiv verschoben werden.
Und ganz wichtig die ersten 3 und die letzte Zeile müssen NICHT gelöscht werden. Die Webafrage leifert mir das Format welches ich benötige ;) Kann man hier die Archvierung einbauen?


Es ist nämlich so:

Die Datei daten.xls wird benötigt um Pivot-Auswertungen zu machen. Wenn ich die neue Datei jedes mal mit Datum speichere muss ich jedes mal die Pivot-Abfragen anpassen

Die neue Datei muss immer als Daten.xls gespeichert werden, da aber immer eine daten.xls schon da ist, muss die alte nur mit Datum + Dateinamen in den Ordner Archiv verschoben werden.

Es muss immer eine daten.xls geben, nämlich immer die aktuelle bis zur nächsten Webabfrage.

es bringt mir also nix die Datei nur mit Datum zu speichern. Die aktuelle muss immer daten.xls heissen, und nur die "alten" müssen bevor sie ja quasi von der neuen date.xls überschrieben werden, mit Datum in den Ordner Archiv verschoben werden



Hier mein bisheriges Makro:

01.
Sub Makro2() 
02.
03.
' Makro2 Makro 
04.
' Makro am 21.09.2007 von mir aufgezeichnet 
05.
06.
 
07.
08.
    Workbooks.Add 
09.
    With ActiveSheet.QueryTables.Add(Connection:= _ 
10.
        "URL;http://jira.de/jira/secure/IssueNavigator.jspa?reset=true&&type=-2&pid=10221&sorter/field=issuekey&sorter/order=DESC&tempMax=2000&os_username=user&os_password=password" _ 
11.
        , Destination:=Range("A1")) 
12.
        .Name = _ 
13.
        "order=DESC&tempMax=2000&os_username=username&os_password=password" 
14.
        .FieldNames = True 
15.
        .RowNumbers = False 
16.
        .FillAdjacentFormulas = False 
17.
        .PreserveFormatting = True 
18.
        .RefreshOnFileOpen = False 
19.
        .BackgroundQuery = True 
20.
        .RefreshStyle = xlInsertDeleteCells 
21.
        .SavePassword = False 
22.
        .SaveData = True 
23.
        .AdjustColumnWidth = True 
24.
        .RefreshPeriod = 0 
25.
        .WebSelectionType = xlSpecifiedTables 
26.
        .WebFormatting = xlWebFormattingNone 
27.
        .WebTables = """issuetable""" 
28.
        .WebPreFormattedTextToColumns = True 
29.
        .WebConsecutiveDelimitersAsOne = True 
30.
        .WebSingleBlockTextImport = False 
31.
        .WebDisableDateRecognition = False 
32.
        .WebDisableRedirections = False 
33.
        .Refresh BackgroundQuery:=False 
34.
    End With 
35.
    ChDir _ 
36.
        "J: \test\Graphiken" 
37.
    ActiveWorkbook.SaveAs Filename:= _ 
38.
        "J: \test\Graphiken\daten.xls" _ 
39.
        , FileFormat:=xlNormal, Password:="", WriteResPassword:="", _ 
40.
        ReadOnlyRecommended:=False, CreateBackup:=False 
41.
    ActiveWindow.Close 
42.
End Sub 
43.
 
44.
 
45.
 
46.
 
Bitte warten ..
Mitglied: bastla
21.09.2007 um 13:16 Uhr
Hallo Bacaaardi!

Kann man hier die Archvierung einbauen?
Immer noch: ja.

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Microsoft
Bartender - kein Zugriff auf XLS-Daten
gelöst Frage von MiStMicrosoft5 Kommentare

Hallo, ich habe auf einem Client (Windows 10) MS-Office 2010 (64bit) und Bartender 9.4(r3) installiert. Bis Samstag konnte ich ...

Backup
Datensicherung ARCHIV
Frage von fautec56Backup12 Kommentare

Fileserver Betriebssystem 2008 R2 Standard Wir haben auf unserem Fileserver ein Archiv eingerichtet. ( PDF-Dateien) Dieses Archiv wird mit ...

Backup
Archiv Konzept - Ideen?
gelöst Frage von DanielZ87Backup3 Kommentare

Hallo Admins, ich bin gerade dabei für unsere Firma ein Archivierungs-Konzept zu erstellen (Filer - 60 TB). Aktuell ist ...

Peripheriegeräte
Umgang mit LTO-Bändern und Archiven
Frage von istike2Peripheriegeräte3 Kommentare

Hallo, da wir mit mit dem Festplattenchaos die Nase voll hatten, haben wir jetzt eine Tandberg LTO6 Bandlaufwerk mit ...

Neue Wissensbeiträge
Windows 10

Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App

Tipp von kgborn vor 20 StundenWindows 102 Kommentare

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...

Sicherheits-Tools

Achtung: Sicherheitslücke im FortiClient VPN-Client

Tipp von kgborn vor 22 StundenSicherheits-Tools

Ich weiß nicht, wie häufig die NextGeneration Endpoint Protection-Lösung von Fortinet in deutschen Unternehmen eingesetzt wird. An dieser Stelle ...

Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 1 TagInternet3 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 1 TagDSL, VDSL2 Kommentare

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Heiß diskutierte Inhalte
Windows Server
GPO nur für bestimmte Computer
Frage von Leo-leWindows Server13 Kommentare

Hallo Forum, gern würde ich ein Robocopy script per Bat an eine GPO hängen. Wichtig wäre aber dort der ...

Windows Server
KMS Facts for Client configuration
Frage von winlinWindows Server13 Kommentare

Hey Leute, wir haben in unserem Netz nun einen neuen KMS Server. Haben Bestands-VMs die noch nicht aktiviert sind. ...

Windows Tools
Software-Tool zum Entfernen von bösartigem Windows
Frage von emeriksWindows Tools11 Kommentare

Hi, siehe Betreff hat das jemals irgendjemand schonmal sinnvoll eingesetzt? (MRT) E.

Router & Routing
OpenWRT bzw. L.E.D.E auf Buffalo WZR-HP-AG300H - update
gelöst Frage von EpigeneseRouter & Routing11 Kommentare

Guten Tag, ich habe auf einem Buffalo WZR-HP-AG300H die alternative Firmware vom L.E.D.E Projekt geflasht. Ich bin es von ...