Jump to content

Jeenne

Members
  • Gesamte Inhalte

    11
  • Registriert seit

  • Letzter Besuch

Alle erstellten Inhalte von Jeenne

  1. Das ist leider auszuschließen, da Office 2003 zum Einsatz kommt...
  2. Nein, finde leider nichts. Hmm... so langsam weiß ich nicht mehr wo ich suchen soll und wo das Problem ist... Hast du noch einen Link wo ich nachlesen kann wie die Textdatei aussehen muss, damit sie für eine SQL Abfrage verwenden kann? Z.B. wie muss die Überschrift dort stehen? Oder ... "Tab oder ;?
  3. Nein das ist immer noch ANSI. Habe wie gesagt die Textdatei jetzt direkt in dem Query um etwas zu testen (Also SELECT * FROM text.txt WHERE ....). Damit nimmt sich das Script die Datei aus dem Temp Ordner. Wenn ich jetzt z.B. mal komplett leer mache, sagt er mir nur "Query must have at least one destination field", aber er macht in dem Sinne den Fehler nicht mehr, daher denke ich dass der Fehler hier liegt, oder?
  4. Also die Connection funktioniert ohne Probleme... Habe jetzt mal ein wenig mit dem SQL Statement rumgespielt, jetzt sieht es ein wenig danach aus , dass er die txt Datei nicht richtig einliesst. Habe die txt. Datei auch einmal direkt angesprochen, doch hier hat er wieder Probleme... Weißt du wodran es liegen kann?
  5. Ich habe das Gefüll es liegt in der Connecation, dass er damit nicht umgehen kann, ist das möglich? ' ADO-Objekte Set objConn = CreateObject("ADODB.Connection") ' weitere Objekte Set objNetwork = CreateObject("WScript.Network") Set objShell = CreateObject("Wscript.Shell") Set objWMI = GetObject("winmgmts:\\.\root\CIMV2") objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=" & strTemppfad & ";" & _ "Extended Properties=""text;HDR=YES;FMT=Delimited""" und... set objRS = objConn.Execute()
  6. Auf dem PC wo es nicht funktioniert, stehen auch noch jede Menge TMP File's, welche auf dem anderen, wie es aussieht danach gelöscht werden.
  7. Moin, wie folgt sind die Ergebnisse: Hier funktioniert es: Temppfad ist: C:\DOCUME~1\testuser\LOCALS~1\Temp C:\Documents and Settings\testuser\Desktop\Druckerverbindung.vbs(46, 2) Microsof t JET Database Engine: No value given for one or more required parameters. Hier funktioniert es nicht: Temppfad ist: C:\DOKUME~1\testuser\LOKALE~1\Temp
  8. Nicht wundern, ich habe es gerade unter einer Englischer Installation getestet. Die aber genau die gleiche Fehlermeldung erzeugt. Die Select-Ausgabe ist folgende: SELECT * FROM radE6201.tmp WHERE DruckerAlt = 'Microsoft XPS Document Writer' C:\Documents and Settings\testuser\Desktop\Druckerverbindung.vbs(47, 2) Microsoft JET Database Engine: No value given for one or more required parameters.
  9. Nein, hier ist leider kein Unterschied. Es wird Windows XP 32Bit verwendet, nur das die neuen Installationen mit einem Multilanuage System installiert werden, wo dann Deutsch ausgewählt wird.
  10. Hallo zusammen, ich habe folgendes Problem: Ich würde gerne auf Client Rechnern alte gegen neue Drucker austauschen, nachdem ich den neuen Printserver online habe. Auf deutschen Systemen funktioniert es ohne Probleme, aber auf Multilanguage Systemen bringt es leider die Fehlermeldung "Code:80040E10 Error:Für mindestens einen erforderlichen Parameter wurde kein Wert angegeben" und zeigt auf die Zeile mit "set objRS = objConn.Execute("SELECT * FROM " & strTabelle & " WHERE DruckerAlt = '" & strDruckerAlt & "'")". Seht einer an dem Script das Problem? Script: ' Region Description ' ' Name: Druckerverbindung.vbs ' Author: Nils Kaczenski ' Version: 1.0 ' Description: Ersetzt Windows-Netzwerkdruckerverbindungen im aktuellen Benutzerprofil ' durch andere Verbindungen. Die alten und neuen Verbindungsdaten sind in einer Textdatei ' angegeben. Nützlich bei Drucker-Migrationen. ' Für die Fachzeitschrift IT-Administrator, 2006 ' Freie Weitergabe des Skriptcodes erlaubt. Keine Gewähr! ' ' EndRegion ' Pfad zur Druckerdatei strDBPfad = "<Mein Druckerpfad>" ' Druckerdatei temporär kopieren, um Sperrkonflikte zu umgehen Set objFSO = CreateObject("Scripting.FileSystemObject") Set objDBDatei = objFSO.GetFile(strDBPfad) strDBDateilokal = objFSO.GetTempName strTemppfad = objFSO.GetSpecialFolder(2) strDBPfadlokal = objFSO.BuildPath(strTemppfad, strDBDateilokal) objDBDatei.Copy strDBPfadlokal ' Tabelle hier: Name der Textdatei strTabelle = strDBDateilokal ' ADO-Objekte Set objConn = CreateObject("ADODB.Connection") ' weitere Objekte Set objNetwork = CreateObject("WScript.Network") Set objShell = CreateObject("Wscript.Shell") Set objWMI = GetObject("winmgmts:\\.\root\CIMV2") objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=" & strTemppfad & ";" & _ "Extended Properties=""text;HDR=YES;FMT=Delimited""" strText = "" ' Druckerverbindungen des Benutzers durchlaufen Set colDrucker = objNetwork.EnumPrinterConnections ' Im jeweils zweiten Wert steht der Druckername For i=0 To colDrucker.Count-1 Step 2 strDruckerAlt = colDrucker(i + 1) ' In Datenbank nach der aktuellen Verbindung suchen set objRS = objConn.Execute("SELECT * FROM " & strTabelle & " WHERE DruckerAlt = '" & strDruckerAlt & "'") ' Falls Drucker gefunden (objRS nicht leer) ... If Not objRS.EOF Then ' ... neuen Drucker herausfinden strDruckerNeu = objRS("DruckerNeu") ' ... und verbinden DruckerSetzen strDruckerAlt, strDruckerNeu End If Next ' Erfolg melden If strText <> "" Then objShell.Popup strText, 10, "Drucker wurden erfolgreich umbenannt." End If ' Lokale Textdatei schließen und löschen objRS.Close Set objDBDateilokal = objFSO.GetFile(strDBPfadlokal) objDBDateilokal.Delete Sub DruckerSetzen(strDruckerAlt, strDruckerNeu) ' ist der alte Drucker der Standarddrucker? strDruckerWQL = Replace(strDruckerAlt, "\", "\\") strWQL = "SELECT Default FROM Win32_Printer " _ & "WHERE Name = '" & strDruckerWQL & "'" Set colPrinters = objWMI.ExecQuery(strWQL) If colPrinters.Count > 0 Then For Each objPrinter In colPrinters If objPrinter.Default = vbTrue Then flgDefault = True Else flgDefault = False End If Next End If ' alte Verbindung entfernen objNetwork.RemovePrinterConnection strDruckerAlt, True, True strText = strText & strDruckerAlt & " entfernt." & VbCrLf ' neue Verbindung hinzufügen objNetwork.AddWindowsPrinterConnection strDruckerNeu strText = strText & strDruckerNeu & " hinzugefügt." & VbCrLf If flgDefault Then objNetwork.SetDefaultPrinter(strDruckerNeu) strText = strText & strDruckerNeu & " ist Standarddrucker." & VbCrLf End If End Sub Vergleichsdatei: DruckerAlt;DruckerNeu "\\AlterDruckserver\AlterName";"\\NeuerDruckserver\NeuerName"
×
×
  • Neu erstellen...