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

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

Scheduled Task zum Log - Löschen direkt aus der SCOM Console

Tipp von Juanito vor 3 StundenWindows Server

SCOM Agent Task - Create Log Deletion Job Einleitung: Viele Applikationen und Dienste die auf Servern laufen erstellen Log ...

Humor (lol)

Ratgeber: Die wichtigsten Fragen und Antworten zur neuen Datenschutz-Grundverordnung (DSGVO)

Information von BassFishFox vor 3 StundenHumor (lol)

Hier bleiben keine Fragen offen. ;-)

Humor (lol)
Wieder mal DSGVO
Information von brammer vor 15 StundenHumor (lol)2 Kommentare

Mal was zum Lachen: Der Countdown zur Datenschutz-Grundverordnung läuft. Ab 25. Mai sollte man folgende Regeln beachten: Visitenkarten nur ...

Router & Routing

Cisco Talos deckt riesiges Router- und NAS-Botnetz auf

Tipp von Bosnigel vor 15 StundenRouter & Routing

Anscheinend kommt da wieder was auf uns zu: Gruß Bosnigel

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Powerline über zwei Stockwerke optimieren
gelöst Frage von DultusLAN, WAN, Wireless45 Kommentare

Guten Morgen liebes Forum, ich hätte einmal eine Frage bezüglich Powerline Adapter: Mein Problem ist seit gestern präsent, da ...

HTML
Link nicht vollständig
Frage von jensgebkenHTML32 Kommentare

Hallo Gemeinschaft, ich erstelle mit Word einen Serienbrief, den ich per Mail versende. Nun mein Problem der Wordserienbrief holt ...

Datenschutz
E-Mail Verschlüsselung DSGVO 2018
Frage von SoccerdeluxDatenschutz27 Kommentare

Hallo zusammen, ich verzweifele langsam und wende mich an euch und hoffe vielleicht ein paar Antworten zu finden. Ich ...

Rechtliche Fragen
DISKUSSION: Was bringt der Disclaimer "Wenn Sie nicht der Empfänger sind."
Frage von N8DragonRechtliche Fragen23 Kommentare

So oder ähnlich, lese ich immer wieder Kleingedrucktes am Ende diverser Mails. Letzten Endes wollen sie mir alle sagen, ...