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
GELÖST

Mehrere Excell Datein an genau einer Stelle auslesen und weiterverarbeiten

Frage Microsoft Microsoft Office

Mitglied: Deecay

Deecay (Level 1) - Jetzt verbinden

24.11.2010, aktualisiert 18.10.2012, 2938 Aufrufe, 8 Kommentare

Hallo zusammen, steh da vor nem kleinen Problemchen:

Das Problem ist folgendes:
In einem Ordner befinden sich ca. 50 xls-Datein. In allen 50 dieser Datein steht in der genau gleichen Zeile eine 1 oder nichts.
Ich würd es gern automatisieren (Im Optimalfall durch eine Batch Datei, oder ähnliches), dass diese Datein eingelesen werden und diese Zelle betrachtet wird.
Sollte eine 1 in der Zelle sein soll nichts weiter passieren, sollte keine 1 dort sein soll der Name der XLS-File in eine Neue Datei geschrieben werden, (alle Namen die sich so ergeben natürlich in eine Datei).

Ich steh jetzt hier wie der Ochs vorm Berg und verzweifel etwas daran, Hilfe wäre super.
Danke im Vorraus Deecay.
Mitglied: bastla
24.11.2010, aktualisiert 18.10.2012
Hallo Deecay und wilkommen im Forum!

Schau mal hier vorbei ...

Grüße
bastla
Bitte warten ..
Mitglied: Deecay
24.11.2010 um 09:45 Uhr
Danke schonmal für die schnelle Hilfe. war zeimlich Informativ der Link, ich hab das Script angepasst: aus den For Schleifen eine IF Anweisung, da ja nur eine Sache geprüft werden muss.
Bei nem Test hab ich jedoch die Fehlermeldung 400 bekommen. Ich hab den Verdacht, dass meine IF-Anweisung nich sauber läuft hier nochmal der Quellcode:

Sub Auswerten()
sQuellpfad = "D:\Test"


Set wbGes = ActiveWorkbook
Set fso = CreateObject("Scripting.FileSystemObject")

For Each oFile In fso.GetFolder(sQuellpfad).Files
If LCase(Right(oFile.Name, 4)) = ".xls" Then
Application.Workbooks.Open oFile.Path
If wbGes.Worksheets(1).Cells(A1).Value = "1" Then
sFileName = fso.GetBaseName(oFile.Name)
ActiveWorkbook.Close False
End If
End If
Next

wbGes.Worksheets(1).Activate
wbGes.Save
MsgBox "Fertig."
End Sub


Ordner: D:\Test
Zelle A1 gefüllt mit 1 oder 0
Zu Testzwecken malö mit 4 Datein ausprobiert
Bitte warten ..
Mitglied: Miyamoto
24.11.2010 um 09:55 Uhr
Hi,
mit der Windows PowerShell kannst du es so machen:
01.
cls 
02.
 
03.
#Variablen 
04.
$pfad="E:\temp2" 
05.
$dateien=Get-ChildItem -Path $pfad -Name -Include *.xls 
06.
$ausgabedatei="E:\log.txt" 
07.
 
08.
#hier musst du angeben in welcher Spalte und in welcher Zeile sich dein Wert befindet 
09.
$zeile=2 
10.
$spalte=1 
11.
 
12.
# Excel starten  
13.
$excel = New-Object -comobject Excel.Application 
14.
 
15.
# für die Fehlersuche sollte man Excel vielleicht anzeigen! 
16.
$excel.Visible = $FALSE 
17.
 
18.
foreach($i in $dateien){ 
19.
 
20.
    # ExcelDatei laden 
21.
    $arbeitsmappe = $excel.Workbooks.Open($pfad+"\"+$i) 
22.
 
23.
    # Erstes Worksheet öffnen 
24.
    $seite = $arbeitsmappe.Worksheets.Item(1) 
25.
    if ($seite.Cells.item($zeile,$spalte).value() -ne 1){ 
26.
        echo $i 
27.
        $i | out-file -filepath $ausgabedatei -Append 
28.
29.
30.
# Excel verlassen 
31.
$excel.quit()
Gruß Miyamoto
Bitte warten ..
Mitglied: Deecay
24.11.2010 um 10:15 Uhr
HI Miyamoto mit Powershell kenn ich mich leider garnich aus.

wenn ich das Script ausführe kommt immer eine Fehlermeldung, ich kann die jedoch nich auswerten, weil sich kurz danach das Fenster schließt
Bitte warten ..
Mitglied: 76109
24.11.2010 um 10:24 Uhr
Hallo Deecay!

Dann versuchs mal mit nem VB-Script (*.vbs):
01.
Const QuellPfad = "D:\Test" 
02.
Const LogDatei = "D:\Test\Test.Log" 
03.
 
04.
Dim Fso, File, Wkb, Log 
05.
 
06.
Set Fso = CreateObject("Scripting.FileSystemObject") 
07.
Set Log = Fso.CreateTextFile(LogDatei) 
08.
     
09.
For Each File In Fso.GetFolder(QuellPfad).Files 
10.
    If LCase(Right(File.Name, 4)) = ".xls" Then 
11.
        Set Wkb = GetObject(File.Path) 
12.
        If Wkb.Sheets(1).Range("A1").Value <> 1 Then 
13.
            Log.WriteLine Fso.GetBaseName(File.Name) 
14.
        End If 
15.
        Wkb.Close False 
16.
    End If 
17.
Next 
18.
 
19.
Log.Close 
20.
     
21.
MsgBox "Fertig."
Gruß Dieter
Bitte warten ..
Mitglied: Deecay
24.11.2010 um 10:29 Uhr
HI Dieter,

das Script funktioniert 1a, danke für die Hilfe an dich und an die andern, die sich die Mühe gemacht haben.

Gruß Deekay.
Bitte warten ..
Mitglied: bastla
24.11.2010 um 10:30 Uhr
Hallo Deecay!

So könnte das eher funktionieren (ist aber ungetestet):
01.
Sub Auswerten() 
02.
sQuellpfad = "D:\Test" 
03.
 
04.
 
05.
Set wbGes = ActiveWorkbook 
06.
Set fso = CreateObject("Scripting.FileSystemObject") 
07.
 
08.
iZeile = 2 
09.
For Each oFile In fso.GetFolder(sQuellpfad).Files 
10.
    If LCase(Right(oFile.Name, 4)) = ".xls" Then 
11.
        Application.Workbooks.Open oFile.Path 
12.
        If Worksheets(1).Range("A1").Value = "1" Then 
13.
            sFileName = fso.GetBaseName(oFile.Name) 
14.
            ActiveWorkbook.Close False 
15.
            wbGes.Cells(iZeile, "A").Value = sFileName 
16.
            iZeile = iZeile + 1 
17.
        End If 
18.
    End If 
19.
Next 
20.
 
21.
wbGes.Worksheets(1).Activate 
22.
wbGes.Save 
23.
MsgBox "Fertig." 
24.
End Sub
Grüße
bastla

[Edit] Hat sich dann ja inzwischen erledigt ... [/Edit]
Bitte warten ..
Mitglied: Deecay
24.11.2010 um 10:35 Uhr
Jo trotzdem nochmal Danke Bastler
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Dateiversion mit Bat6chdatei auslesen und weiterverarbeiten
Frage von knomusBatch & Shell1 Kommentar

Hallo, ich möchte mit einer Batchdatei die Version einer Exedatei auslesen. Das Ergebnis (Beispielsweise 3.5.4.0) möchte ich weiterverarbeiten. Wie ...

Microsoft Office
Excel VBA Datein auslesen
gelöst Frage von schwalbepilotMicrosoft Office8 Kommentare

Hallo, ich benutze MS Excel 2010 und bräuchte ein Makro, zum auslesen mehrerer Excel Datein. Diese befinden sich alle ...

Microsoft Office
EMail auslesen, verschieben und mit Excel ausgelesene Daten weiterverarbeiten
gelöst Frage von GundelputzMicrosoft Office37 Kommentare

Hallo da draussen, Ich habe mal wieder eine Problemstellung bei der ich eure Hilfe brauche. Ich habe, in Outlook ...

Outlook & Mail
Outlook archivierung über mehrere pst Datein
Frage von lord-iconOutlook & Mail1 Kommentar

Moinz, mit der Zeit schwillt meine eine pst-Datei gewalltig an da tägliche Backups gemacht werden, wächst die Backupdatei natürlich ...

Neue Wissensbeiträge
Windows 10

Windows 10 Hello-Anmeldung per Foto ausgehebelt

Tipp von kgborn vor 1 MinuteWindows 10

Windows Hello ist eine Funktion, um sich per Fingerabdruck-, Gesichts- oder Iriserkennung bei Windows 10-Geräten anzumelden (siehe), setzt aber ...

Perl

Perl hat heute Geburtstag: 30 Jahre Perl: Lange Gesichter zum Geburtstag

Information von Penny.Cilin vor 7 StundenPerl2 Kommentare

Hallo, auch wenn es wenige wissen und noch weniger Leute es nutzen. Perl hat heute Geburtstag. 30 Jahre Perl ...

Sicherheit

Blackberry stirbt - Keine Updates für Priv mehr

Tipp von certifiedit.net vor 8 StundenSicherheit1 Kommentar

Blackberry wird zu einer 08/15 Firma und geht wohl mehr und mehr den Weg, den HTC schon ging. Von ...

Windows 10

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

Tipp von kgborn vor 2 TagenWindows 1011 Kommentare

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

Heiß diskutierte Inhalte
Batch & Shell
Kann man mit einer .txt Datei eine .bat Datei öffnen?
gelöst Frage von HelloWorldBatch & Shell22 Kommentare

Wie schon im Titel beschrieben würde ich gerne durch einfaches klicken auf eine Text oder Word Datei eine Batch ...

Netzwerkgrundlagen
Belibiges Teilnetz einer Subnetzmaske rausfinden?
gelöst Frage von CenuzeNetzwerkgrundlagen18 Kommentare

Wundervollen Gutentag, mittlerweile kann ich Subnetting so einigermaßen, aber ein Problem habe ich noch. Netzwerkadresse und Boradcast errechnen ist ...

Windows Server
SCCM 2016: PXE Boot des Clients schlägt fehl
Frage von gabeBUWindows Server14 Kommentare

Hallo Zusammen Ich habe eine Testumgebung erstellt um über SCCM 2016 einen virtuellen Client aufzusetzen. Folgende Maschinen habe ich ...

LAN, WAN, Wireless
WLAN Reichweite erhöhen mit neuer Antenne
gelöst Frage von gdconsultLAN, WAN, Wireless12 Kommentare

Hallo, ich besitze einen TL-WN722N USB-WLAN Dongle mit einer richtigen Antenne. Ich frage mich jetzt ob man die Reichweite ...