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

Nur wenn Office installiert Autosignatur ausführen

Frage Entwicklung VB for Applications

Mitglied: fluluk

fluluk (Level 1) - Jetzt verbinden

09.07.2013 um 21:16 Uhr, 1354 Aufrufe, 4 Kommentare

Hallo,

ich versuche habe in VBS ein Programm, welches mir eine Autosignatur für Outlook erstellt. Das ganze funktioniert gut, allerdings würde ich dieses gerne in die Gruppenrichtlinien aufnehmen. Da es in unserem Unternehmen jedoch einige PCs gibt, die kein Office installiert haben, liefert mir das Skript einen Fehler.

Das ganze möchte ich gerne für 32 und 64 Bit Clients umgehen.

Nur für 32 Bit habe ich etwas im Internet gefunden:
01.
dim bExists 
02.
ssig="Unable to open registry key" 
03.
 
04.
set wshShell= Wscript.CreateObject("WScript.Shell") 
05.
strKey = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office" 
06.
on error resume next 
07.
present = WshShell.RegRead(strKey) 
08.
if err.number<>0 then 
09.
    if right(strKey,1)="\" then 
10.
        if instr(1,err.description,ssig,1)<>0 then 
11.
            bExists=true 
12.
        else 
13.
            bExists=false 
14.
        end if 
15.
    else 
16.
        bExists=false 
17.
    end if 
18.
    err.clear 
19.
else 
20.
    bExists=true 
21.
end if 
22.
on error goto 0 
23.
if bExists=vbFalse then 
24.
 
25.
else 
26.
----SIGNATUR---- 
27.
end if
da die Einträge unter 64Bit in der Registry noch unter Wow6432Node stehen, funktioniert das so nicht.
was muss ich einfügen, dass es auch unter 64-Bit Systemen erkannt wird?
ich habe mich schon mit OR daran gewagt aber so ganz funktioniert das nicht wie ich das will.

Es kann auch gerne ein komplett anderer Code sein der funktioniert.

Danke.
Mitglied: 76109
10.07.2013 um 08:04 Uhr
Hallo fluluk!

Versuchs mal damit:
01.
Option Explicit 
02.
 
03.
'Backslash am Ende beachten 
04.
Const sReg32Key = "HKLM\Software\Microsoft\Office\" 
05.
Const sReg64Key = "HKLM\Software\Wow6432Node\Microsoft\Office\" 
06.
 
07.
Dim sOffice32, sOffice64 
08.
     
09.
On Error Resume Next 
10.
With CreateObject("WScript.Shell") 
11.
    sOffice32 = .RegRead(sReg32Key) 
12.
    sOffice64 = .RegRead(sReg64Key) 
13.
     
14.
    If IsEmpty(sOffice32) And IsEmpty(sOffice64) Then 
15.
        MsgBox "Office nicht installiert" 
16.
    Else 
17.
        MsgBox "Office installiert" 
18.
    End If 
19.
End With 
20.
On error Goto 0
Gruß Dieter
Bitte warten ..
Mitglied: fluluk
10.07.2013 um 10:07 Uhr
ja, so wird Office schonmal erkannt, wenn ich nun allerdings die MsgBox durch mein Skript ersetze, wird es nicht ausgeführt

01.
Option Explicit 
02.
 
03.
'Backslash am Ende beachten 
04.
Const sReg32Key = "HKLM\Software\Microsoft\Office\" 
05.
Const sReg64Key = "HKLM\Software\Wow6432Node\Microsoft\Office\" 
06.
 
07.
Dim sOffice32, sOffice64 
08.
     
09.
On Error Resume Next 
10.
With CreateObject("WScript.Shell") 
11.
    sOffice32 = .RegRead(sReg32Key) 
12.
    sOffice64 = .RegRead(sReg64Key) 
13.
     
14.
    If IsEmpty(sOffice32) And IsEmpty(sOffice64) Then 
15.
        MsgBox "Office nicht installiert" 
16.
    Else 
17.
		On Error Resume Next 
18.
		Set objSysInfo = CreateObject("ADSystemInfo") 
19.
 
20.
		Set WshShell = CreateObject("WScript.Shell") 
21.
 
22.
		strUser = objSysInfo.UserName 
23.
		Set objUser = GetObject("LDAP://" & strUser) 
24.
 
25.
		strName = objUser.FirstName & " " & objUser.LastName 
26.
		strTitle = objUser.Title 
27.
		strDepa = objUser.Department 
28.
		strCred = objUser.info 
29.
		strCompany = objUser.Company 
30.
		strStreet = objUser.StreetAddress 
31.
		strLocation = objUser.l 
32.
		strPostCode = objUser.PostalCode 
33.
		strPhone = objUser.TelephoneNumber 
34.
		strMobile = objUser.Mobile 
35.
		strFax = objUser.FacsimileTelephoneNumber 
36.
		strEmail = "mailto:" & objUser.mail 
37.
		strEmail2 = objUser.mail 
38.
		strHP = objUser.HomePage 
39.
		  
40.
 
41.
 
42.
 
43.
 
44.
		Set objWord = CreateObject("Word.Application") 
45.
 
46.
		Set objDoc = objWord.Documents.Add() 
47.
		Set objSelection = objWord.Selection 
48.
 
49.
		Set objEmailOptions = objWord.EmailOptions 
50.
		Set objSignatureObject = objEmailOptions.EmailSignature 
51.
 
52.
		Set objSignatureEntries = objSignatureObject.EmailSignatureEntries 
53.
	  
54.
55.
56.
57.
 
58.
 
59.
		Set objSelection = objDoc.Range() 
60.
 
61.
		objSignatureEntries.Add "complete Signature", objSelection 
62.
		objSignatureObject.NewMessageSignature = "complete Signature" 
63.
 
64.
		objDoc.Saved = True 
65.
		objWord.Quit 
66.
 
67.
		Set objWord = CreateObject("Word.Application") 
68.
 
69.
		Set objDoc = objWord.Documents.Add() 
70.
		Set objSelection = objWord.Selection 
71.
 
72.
		Set objEmailOptions = objWord.EmailOptions 
73.
		Set objSignatureObject = objEmailOptions.EmailSignature 
74.
 
75.
		Set objSignatureEntries = objSignatureObject.EmailSignatureEntries 
76.
 
77.
78.
79.
80.
 
81.
 
82.
		Set objSelection = objDoc.Range() 
83.
 
84.
		objSignatureEntries.Add "Reply Signature", objSelection 
85.
		objSignatureObject.ReplyMessageSignature = "Reply Signature" 
86.
 
87.
		objDoc.Saved = True 
88.
		objWord.Quit 
89.
 
90.
    End If 
91.
End With 
92.
On error Goto 0
Bitte warten ..
Mitglied: 76109
10.07.2013 um 13:36 Uhr
Hallo fluluk!

Der Fehler liegt wohl in erster Linie daran, dass am Code-Anfang 'Option Explicit' steht und Du keine Variablen per Dim deklariert hast. Also entweder die erste Codezeile entfernen oder die Variablen deklarieren...

Ansonsten würde ich es eher so machen:
01.
Option Explicit 
02.
 
03.
'Backslash am Ende beachten 
04.
Const sReg32Key = "HKLM\Software\Microsoft\Office\" 
05.
Const sReg64Key = "HKLM\Software\Wow6432Node\Microsoft\Office\" 
06.
 
07.
Dim objShell, strOffice32, strOffice64 
08.
     
09.
On Error Resume Next 
10.
 
11.
Set objShell = CreateObject("WScript.Shell") 
12.
 
13.
With objShell 
14.
    strOffice32 = .RegRead(sReg32Key) 
15.
    strOffice64 = .RegRead(sReg64Key) 
16.
End With 
17.
     
18.
If IsEmpty(strOffice32) And IsEmpty(strOffice64) Then 
19.
    MsgBox "Office nicht installiert":  WScript.Quit 1 
20.
End If 
21.
         
22.
Err.Clear 
23.
 
24.
Set objSysInfo = CreateObject("ADSystemInfo") 
25.
 
26.
strUser = objSysInfo.UserName 
27.
Set objUser = GetObject("LDAP://" & strUser) 
28.
 
29.
strName = objUser.FirstName & " " & objUser.LastName 
30.
strTitle = objUser.Title 
31.
strDepa = objUser.Department 
32.
strCred = objUser.info 
33.
strCompany = objUser.Company 
34.
strStreet = objUser.StreetAddress 
35.
strLocation = objUser.l 
36.
strPostCode = objUser.PostalCode 
37.
strPhone = objUser.TelephoneNumber 
38.
strMobile = objUser.Mobile 
39.
strFax = objUser.FacsimileTelephoneNumber 
40.
strEmail = "mailto:" & objUser.mail 
41.
strEmail2 = objUser.mail 
42.
strHP = objUser.HomePage 
43.
          
44.
Set objWord = CreateObject("Word.Application") 
45.
Set objDoc = objWord.Documents.Add() 
46.
         
47.
Set objSelection = objWord.Selection 
48.
 
49.
Set objEmailOptions = objWord.EmailOptions 
50.
Set objSignatureObject = objEmailOptions.EmailSignature 
51.
 
52.
Set objSignatureEntries = objSignatureObject.EmailSignatureEntries 
53.
54.
55.
56.
Set objSelection = objDoc.Range() 
57.
 
58.
objSignatureEntries.Add "complete Signature", objSelection 
59.
objSignatureObject.NewMessageSignature = "complete Signature" 
60.
 
61.
objDoc.Saved = True 
62.
objWord.Quit 
63.
 
64.
Set objWord = CreateObject("Word.Application") 
65.
 
66.
Set objDoc = objWord.Documents.Add() 
67.
Set objSelection = objWord.Selection 
68.
 
69.
Set objEmailOptions = objWord.EmailOptions 
70.
Set objSignatureObject = objEmailOptions.EmailSignature 
71.
 
72.
Set objSignatureEntries = objSignatureObject.EmailSignatureEntries 
73.
74.
75.
76.
Set objSelection = objDoc.Range() 
77.
 
78.
objSignatureEntries.Add "Reply Signature", objSelection 
79.
objSignatureObject.ReplyMessageSignature = "Reply Signature" 
80.
 
81.
objDoc.Saved = True 
82.
objWord.Quit 
83.
 
84.
If Err.Number Then 
85.
    MsgBox "Fehler beim Erstellen der Email-Signaturen ":  WScript.Quit 1 
86.
End If 
87.
 
88.
WScript.Quit 0
Gruß Dieter
Bitte warten ..
Mitglied: fluluk
10.07.2013 um 14:37 Uhr
ach, vielen Dank, so funktionierts.

Gruß Lukas
Bitte warten ..
Ähnliche Inhalte
Basic
Excelverarbeitung aus VBScript auf Windows 8 ohne installiertem Office
Frage von nulpenBasic5 Kommentare

Hallo Zusammen, habe ein Script welches Daten aus einer Tabelle ausliest. Auf meinem System mit Office läuft alles wunderbar. ...

Windows Server
Server mit installiertem Office als Clientcomputer verwenden - Frage zur Lizenzierung
gelöst Frage von KallaxWindows Server8 Kommentare

Hallo Adminz, entweder hat das noch keiner gefragt oder ich finde es einfach nicht. Sollte das letztere der Fall ...

Microsoft Office
Office Verknüpfung funktioniert nicht auf TS-Farm: Diese Aktion ist nur zulässig für Produkte, die derzeit installiert sind.
gelöst Frage von NecroscopeMicrosoft Office2 Kommentare

Wir nutzen eine Terminalserver Farm (Win2008 R2), auf jedem Server ist Office 2007 Installiert. Legt sich ein User eine ...

Microsoft Office
Wie installiere ich Visio Standard 2013 zu dem bereits installiertem Office Home-Business 2013 nach?
Frage von superbikeMicrosoft Office3 Kommentare

Hallo Leute, kriegs nicht hin: habe Office Home&Business 2013 (auf Win8.1 Prof) installiert, erscheint auch so online im MS-Konto. ...

Neue Wissensbeiträge
Windows 10

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

Tipp von kgborn vor 1 TagWindows 107 Kommentare

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

Sicherheits-Tools

Achtung: Sicherheitslücke im FortiClient VPN-Client

Tipp von kgborn vor 1 TagSicherheits-Tools

Ich weiß nicht, wie häufig die NextGeneration Endpoint Protection-Lösung von Fortinet in deutschen Unternehmen eingesetzt wird. An dieser Stelle ...

Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 2 TagenInternet5 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 2 TagenDSL, VDSL2 Kommentare

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

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

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

Router & Routing
OpenWRT bzw. L.E.D.E auf Buffalo WZR-HP-AG300H - update
gelöst Frage von EpigeneseRouter & Routing11 Kommentare

Guten Tag, ich habe auf einem Buffalo WZR-HP-AG300H die alternative Firmware vom L.E.D.E Projekt geflasht. Ich bin es von ...

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

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

Windows Server
Ping auf einen bestimmten Server nicht möglich
gelöst Frage von a.thierWindows Server7 Kommentare

Hallo, ich habe folgendes Problem. srv-dc1: Ping srv-nav > geht Ping srv-exchange > geht nicht srv-exchange: Ping srv-dc1 > ...