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

Mitglied: Bacaaardi

Bacaaardi (Level 1) - Jetzt verbinden

18.09.2007, aktualisiert 21.09.2007, 2964 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
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 ...

Exchange Server

Exhange 2010 - Archivierung - Automapping Archiv

gelöst Frage von LKaderavekExchange Server37 Kommentare

Hallo, ich habe vor kurzem eine Archivierungs-Richtlinie für einige Postfächer verfasst. Nun werden die Archive bei den verbunden Postfächer ...

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 ...

Neue Wissensbeiträge
Windows 10

Windows 10 V1809: Rollout ist gestartet - kommt per Windows Update

Information von kgborn vor 2 StundenWindows 10

Eine kurze Information für die Admins, die Windows 10 im Programm haben. Microsoft hat die letzte Baustelle (die Inkompatibilität ...

Sicherheit

Heise Beitrag Passwort-Sammlung mit 773 Millionen Online-Konten im Netz aufgetaucht

Information von Penny.Cilin vor 4 StundenSicherheit1 Kommentar

Auf Heise Online ist folgender Beitrag veröffentlicht worden: Heise Beitrag passwörter geleakt Ich bin mir jetzt nicht ganz sicher, ...

Microsoft Office
TEAMS - Skype for business
Tipp von Nebellicht vor 5 StundenMicrosoft Office

Hallo, ms ersetzt Skype for business durch TEAMS. Also, nicht wundern wenn mit der OFFICE365 Umgebung kein Skype for ...

Windows 10

Windows 10: Cortana und die Suche gehen bald wieder eigene Wege

Information von Frank vor 8 StundenWindows 102 Kommentare

Microsoft hat einen neuen Insider Build von Windows 10 veröffentlicht (Fast Ring, Version 18317), wo die digitale Assistentin "Cortana" ...

Heiß diskutierte Inhalte
Windows Server
Uhren gehen immer wieder falsch
Frage von killtecWindows Server23 Kommentare

Hallo, ich habe folgende Konstellation: 1. Physischer DC Div. Virtuelle DC's auf Hyper-V Servern Die Hyper-V-Server, der Physische DC ...

Windows 10
VM wächst schnell von 14 auf 35 GB an - warum?
Frage von degudejungWindows 1018 Kommentare

Hallo, ich bin ein Freund schlanker VMs und setze daher gerne mit dem Erscheinen einer neuen Win10 Version - ...

Windows Server
Client in die Domäne einbinden - Allgemeine Frage dazu
gelöst Frage von RalphTWindows Server18 Kommentare

Moin, ich habe 2 DCs in einer Hauptstelle und 2 DCs in einer Nebenstelle. Ich bringe in der Hauptstelle ...

Internet
Google-Suchergebnisse, Schnelleinblendung, woher kommt der Inhalt?
gelöst Frage von departure69Internet17 Kommentare

Hallo. Ich bin der Systembetreuer einer kleinen Gemeinde in Süddeutschland. Wir betreiben auch eine Leihbücherei. Eine Kundin hat letzten ...