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 Wert aus Excel mit Computernamen vergleichen und in Textdatei schreiben

Mitglied: Ritzratz

Ritzratz (Level 1) - Jetzt verbinden

21.01.2011, aktualisiert 23:43 Uhr, 4893 Aufrufe, 7 Kommentare

Hi ein neuer Anlauf.....
Danke Biber )

Hi

mit dem nachfolgenden Code lese ich den Computername aus und schreibe diesen in eine Textdatei.

01.
'*** Computername auslesen und in  Datei schreiben.  
02.
 
03.
	set fso = createobject ("scripting.filesystemobject") 
04.
	set ntwrk = createobject ("wscript.network") 
05.
 
06.
	set schreiben = fso.createtextfile("C:\Comp_Name.txt") 
07.
 
08.
	schreiben.writeline (ntwrk.computername) 
09.
	schreiben.close
Nachfolgende möchte ich diesen Wert aus der Textdatei Comp_Name.txt mit den Wert aus Spalte A einer Exceldatei prüfen.

3b2db4f80a3ff19572cb7f70d9b623ff - Klicke auf das Bild, um es zu vergrößern

Wenn der Wert aus der Datei in Spalte A identisch ist, soll der Wert aus Spalte B in eine neue Datei "Comp_Nameneu.txt" angelegt werden.

Kann mir dabei jemand helfen ? HIntergrund ist ein Entwurf für eine Neuordnung der Computernamen.

@ Biber: Ich hoffe das ist jetzt ein wenig verständlicher. Mir geht es hauptsächlich um den Vergleich der Textdatei mit der Exceldatei.

Danke Ritzratz
Mitglied: 76109
22.01.2011 um 08:23 Uhr
Bitte warten ..
Mitglied: bastla
22.01.2011 um 09:34 Uhr
Hallo RitzRatz!

Da ich dem Plan mit dem Schreiben zweier Textdateien mit je einer Zeile noch nicht sonderlich viel Sinnhaftigkeit abgewinnen kann, zunächst nur ein Ansatz zum Auslesen des gesuchten Wertes:
01.
Exceldatei = "C:\Test\test.xls" 
02.
 
03.
CompName = CreateObject ("WScript.Network").ComputerName 
04.
Wert = CompName & " in " & Exceldatei & " nicht gefunden!" 
05.
 
06.
Set oXL = WScript.CreateObject("EXCEL.application") 
07.
On Error Resume Next 
08.
With oXL 
09.
    .Visible = False 
10.
    .Workbooks.Open Exceldatei 
11.
    Wert = .WorksheetFunction.VLookup(CompName, .Range("Tabelle2!A1:B1000"), 2, False) 
12.
    .ActiveWorkbook.Close False 
13.
    .Application.Quit 
14.
End With 
15.
On Error Goto 0 
16.
 
17.
WScript.Echo Wert
Die Zeile 11 führt übrigens einen simplen SVERWEIS() durch ...

Grüße
bastla
Bitte warten ..
Mitglied: Ritzratz
22.01.2011 um 16:16 Uhr
Hallo Bastla,

Super. Funktioniert bestens. Vielen Dank für den Tipp. mit den SVerweis, Wußte leider nicht wie ich das ins vbs einbinde. Wieder was gelernt.
Ich habe das Skript noch ein wenig angepaßt und voila, alles genauso wie es sein soll.
Übrigens : Über Sinnhaftigkeit von IT-Angelegenheiten mache ich mir schon seit Jahren kein Kopp mehr. )

Schönes Wochenende noch.

Gruß
Ritzratz
Bitte warten ..
Mitglied: Ritzratz
23.01.2011 um 22:23 Uhr
Hallo zusammen,

ich hätte noch eine Frage zu dem Vergleich, wenn es sich nicht um eine Excel Datei handelt, sondern um eine Textdatei. da funktioniert das mit dem SVwerweis nämlich nicht.


Gruß
RItzratz
Bitte warten ..
Mitglied: bastla
23.01.2011 um 22:28 Uhr
Hallo RitzRatz!

... womit wir wieder bei der beliebten Frage
Wie soll man/frau sich denn den Inhalt der Textdatei vorstellen?
wären ...

Grüße
bastla
Bitte warten ..
Mitglied: Ritzratz
23.01.2011 um 22:43 Uhr
Zitat von bastla:
Hallo RitzRatz!

... womit wir wieder bei der beliebten Frage
Wie soll man/frau sich denn den Inhalt der Textdatei vorstellen?
wären ...

.... und die allzeit beliebteste Antwort.
Genauso wie die Exceldatei, 2 Spalten kommasepariert.

Grüße ritzratz


Grüße
bastla
Bitte warten ..
Mitglied: bastla
23.01.2011 um 22:45 Uhr
Hallo RitzRatz!

Na dann:
01.
Liste = ""C:\Test\Test.txt" 
02.
Delim = "," 
03.
 
04.
CompName = CreateObject ("WScript.Network").ComputerName  
05.
Wert = """" & CompName & """ in """ & Liste & """ nicht gefunden!"  
06.
 
07.
Set fso = CreateObject("Scripting.FileSystemObject") 
08.
Inhalt = fso.OpenTextFile(Liste).ReadAll 
09.
 
10.
Set rE = New RegExp 
11.
rE.Pattern = vbCrLf & CompName & Delim & "(.+)" & vbCrLf 
12.
rE.IgnoreCase = True 
13.
On Error Resume Next 
14.
Wert = rE.Execute(vbCrLf & Inhalt & vbCrLf)(0).SubMatches(0) 
15.
On Error Goto 0 
16.
 
17.
WScript.Echo Wert
Anmerkungen:
Gesucht wird (siehe "rE.Pattern" in Zeile 11) nach der Kombination Zeilenschaltung + Computername + Trennzeichen + beliebiger Text + Zeilenschaltung, wobei "beliebiger Text" aus mindestens einem Zeichen bestehen muss und das eigentlich gewünschte Ergbnis darstellt (weshalb er in Klammern gesetzt ist).

Damit auch in der ersten oder letzten Zeile der Textdatei die Bedingung "beginnt und endet mit einer Zeilenschaltung" erfüllt ist, werden diese "vbCrLf"-Kombinationen einfach beim Aufruf der Suche (in Zeile 14) dem eingelesenen (gesamten) Dateiinhalt hinzugefügt.

Als Suchergebnis kommt nur die erste Fundstelle und davon der erste "SubMatch"-Teil (= der angesprochene "beliebige Text") infrage - daher können die Indizes (jeweils 0) "hardcoded" angegeben werden.

Falls die Variable "Wert" in Zeile 5 (dient ja mehr als Demo) nicht vorbelegt wird, kann natürlich nach Zeile 15 mit zB
If Wert <> "" Then ...
der Sucherfolg abgefragt werden ...

Grüße
bastla

[Edit] Zeile 11 so geändert ("+" anstatt "*"), dass als "Wert" zumindest ein Zeichen enthalten sein muss [/Edit]
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
Excel Werte vergleichen
Frage von 103148Microsoft Office5 Kommentare

Hallo, ich habe eine Liste ( ca. 200 Einträge ) mit Kistengröße wie folgt: Länge, Breite, Höhe daneben wird ...

Microsoft Office

Excel: Wert aus mehreren Zeilen vergleichen

gelöst Frage von NicolaasMicrosoft Office2 Kommentare

Hallo zusammen, ich würde mir gerne eine Auswertung mit Excel erstellen. Ich habe leider gerade keine Idee mit welcher ...

Microsoft Office

Excel-Werte eingeben und in neue Tabelle schreiben

gelöst Frage von werner1966Microsoft Office9 Kommentare

Hallo Leute, Ich hätte da mal bitte einen Lösungsvorschlag von Euch zu Excel oder Libre Calc: Mein Wissen ist ...

Batch & Shell

Textdateien vergleichen BATCH

gelöst Frage von FeudelFredBatch & Shell2 Kommentare

Moin Moin, ich bin komplett neu im Forum und habe auch keine sonderlich großen Erfahrungen mit Foren. Habe eine ...

Neue Wissensbeiträge
Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 9 StundenHumor (lol)2 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 22 StundenGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Sicherheit

Intel gibt neue Spectre V2-Microcode-Updates frei (20.02.2018)

Information von kgborn vor 22 StundenSicherheit

Intel hat zum 20. Februar 2018 weitere Microcode-Updates für OEMs freigegeben, um Systeme mit neueren Prozessoren gegen die Spectre ...

Microsoft
ARD-Doku - Das Microsoft Dilemma
Tipp von Knorkator vor 1 TagMicrosoft3 Kommentare

Hallo zusammen, vor einigen Tagen lief in der ARD u.a. Reportage. Das Youtube Video dazu dürfte länger verfügbar sein. ...

Heiß diskutierte Inhalte
Windows Server
AD DS findet Domäne nicht, behebbar?
Frage von schapitzWindows Server45 Kommentare

Guten Tag, ich habe bei einem Kunden ein Problem mit den AD DS. Umgebung ist folgende: Windows Server 2016 ...

Router & Routing
LANCOM VPN CLIENT einrichten
Frage von Finchen961988Router & Routing27 Kommentare

Hallo, ich habe ein Problem und hoffe ihr könnt mir helfen, wir haben einen Kunden der hat einen Speedport ...

Router & Routing
ISC DHCP 2 Subnetze
gelöst Frage von janosch12Router & Routing19 Kommentare

Hallo, ich betreibe bei mir im Netzwerk einen ISC DHCP Server auf Debian, der DHCP verwaltet aktuell ein /24 ...

Server-Hardware
Welche Rolle spielt Design bei Enterprise IT Hardware?
Frage von ApolloXServer-Hardware16 Kommentare

Ich arbeite für einen internationalen Elektronikhersteller in der Forschung und meine Aufgabe ist es, Feedback von Nutzern in Hinsicht ...