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

Frage Entwicklung VB for Applications

GELÖST

Vbs und Normal.dot

Mitglied: GwenyA

GwenyA (Level 1) - Jetzt verbinden

09.08.2012 um 08:11 Uhr, 4387 Aufrufe, 7 Kommentare

vbs und Word / Normal.dot bearbeiten - wie Schreibschutz aufheben

Hallo Allerseits,

nach langer erfolgloser Suche im Internet nach eine Lösung für mein Problem stelle ich nun doch selber die Frage rein:
Ich habe ein vb-Skript, welches die lokale Normal.dot bearbeiten, bzw. die Fußzeile ändern soll. Das läuft inzwischen auch bis zum Speichervorgang. Es ist nicht möglich die Änderungen zu speichern da die Normal.dot immer schreibgeschützt geöffnet wird. Auch der Versuch über das Skript die Dot unter anderem Namen zu speichern und nach dem Schließen von Word die ursprüngliche Vorlage durch die neue zu ersetzen gibt die Meldung "Erlaubnis verweigert" raus.
Kann mir hier jemand helfen und hat einen Tipp, wie ich das umgehen kann. Gibt es eventuell eine Möglichkeit die Vorlage mit anderm Befehl zu öffnen un diese bearbeiten zu können? Momentan öffne ich sie folgendermaßen:
Set wdDoc = wdAppl.Documents.Open ("C:\Dokumente und Einstellungen\riewe\Anwendungsdaten\Microsoft\Vorlagen\Normal.dot", false, false)
Adminrechte sind vorhanden.

Vielen Dank schon mal für eure Hilfe!
Gruß Gweny
Mitglied: Karo
09.08.2012, aktualisiert um 12:12 Uhr
Moin,

hatte ich vor langer Zeit mal im Inet gefunden. Die Dot wird nicht sichtbar geöffnet.
Vielleicht geht es bei Dir....

01.
Dim oDot As Document 
02.
Set oDot = Documents.Open(strUserTemplateDir & Application.PathSeparator & pcNormal, Visible:=False) 
03.
With oDot 
04.
.PageSetup.LeftMargin = InchesToPoints(1) 
05.
.PageSetup.RightMargin = InchesToPoints(1) 
06.
.Styles(wdStyleNormal).Font.Name = "Times New Roman" 
07.
.Styles(wdStyleNormal).Font.Size = 12 
08.
.Save 
09.
.Close 
10.
End With
bye
Karo
Bitte warten ..
Mitglied: GwenyA
09.08.2012 um 15:51 Uhr
@ Karo:

danke für deinen Vorschlag. Leider bekomme ich auch damit die Meldung "Erlaubnis verweigert". Auch habe ich inzwischen versucht die Normal.dot erst zu kopieren, dann die Kopie zu bearbeiten und hinterher (nachdem Alles wieder geschlossen wurde) wieder zurückzuspeichern. Das mache ich mit folgendem Befehl:
fso.CopyFile "D:\Normal.dot", sNormal, true
Wobei "true" hier für Überschreiben steht. Auch hier die gleich Verweigerung.
Wenn ich den Copy-Befehl über eine Batch gebe, dann tut es. Es kann daher kein Rechteproblem geben. Gibt es einen Parameter für den Befehl im vbs?

Bitte helft mir! - Vieeelen Dank!
Gruß Gweny
Bitte warten ..
Mitglied: MisterB85
09.08.2012, aktualisiert um 15:55 Uhr
Verwende mal den unten aufgeführten Befehl zum speichern deiner DOT-Datei

ActiveDocument.SaveAs FileName:= [String], FileFormat:=[Integer], AddToRecentFiles:=False...

FileName: Der vollständige Pfad samt Dateityperweiterung
FileFormat: Ist ein Integerwert zwischen 1 und 17, musste mal auf der MS-Seite gucken wie dieser für DOT aussieht.
Bitte warten ..
Mitglied: 76109
09.08.2012, aktualisiert um 20:32 Uhr
Hallo GwenyA!

Versuchs mal so:
01.
Const wdOpenFormatTemplate = 2 
02.
 
03.
Dim oWord, oDoc, sPath 
04.
     
05.
Set oWord = CreateObject("Word.Application") 
06.
     
07.
sPath = oWord.Templates("Normal.Dot").FullName 
08.
     
09.
oWord.Documents.Open sPath,,,,,,,,, wdOpenFormatTemplate 
10.
 
11.
Set oDoc = oWord.ActiveDocument 
12.
     
13.
'...... 
14.
     
15.
oDoc.Close True	'Speichern und Schließen 
16.
        
17.
oWord.Quit
Gruß Dieter
Bitte warten ..
Mitglied: GwenyA
10.08.2012, aktualisiert um 09:13 Uhr
Hallo und Guten Morgen,

konnte gestern leider nicht mehr ran, da ich zum Zahnarzt musste und danach ging nichts mehr.
Habe gerade noch den letzten Vorschlag von Dieter ausprobiert. Hier bekomme ich keine Fehlermeldung mehr aber die Änderung wird nicht in der Normal.dot gespeichert. Es geht zwar was und ich sehe die ~Datei kommen und wieder verschwinden, aber Änderungszeit der Vorlage bleibt wie zuvor und die Fussfzeile auch.

Ich glaube ich gebe das in dieser Form auf und realisiere die Teile, die mir per vbs. nicht zugelassen werden über eine Batch. Dazu hätte ich dann aber auch noch eine Frage: Wie kann ich aus einer Batch eine vbs aufrufen und von diesem Skript dann eine Variable an die Batch zurückgeben?

Danke an alle Helfer und im Voraus an alle, die sich zukünftig über mein Problem den Kopf zerbrechen!
Gruß
Gweny

Zusatz@ Dieter: Auf eine andere Vorlage kann ich das Skrit-Beispiel erfolgreich anwenden
Bitte warten ..
Mitglied: 76109
10.08.2012, aktualisiert um 19:53 Uhr
Hallo Gweny!

Also, bei mir funktionierts per VBS (Win7) auch mit der Normal.dot

Hier ein (bastla)-Beispiel für die Berechnung einer Zeitdifferenz zwischen zwei Zeitangaben:
01.
@echo off & setlocal 
02.
set "Von=01.01.2012-13:22:45" 
03.
set "Bis=10.08.2012-19:24:27" 
04.
 
05.
set G=%temp%\GetTimeDiff.vbs 
06.
>%G% echo D=CDate(Replace(WScript.Arguments(1),"-"," "))-CDate(Replace(WScript.Arguments(0),"-"," ")):WScript.Echo Int(D)^&" "^&Hour(D)^&" "^&Minute(D)^&" "^&Second(D) 
07.
 
08.
for /f "tokens=1-4" %%a in ('cscript //nologo %G% "%Von%" "%Bis%"') do echo %%a Tage %%b Stunden %%c Minuten %%d Sekunden  
09.
 
10.
Del %G%
Ausgabe = Tage Stunden Minuten Sekunden

Die VBS-Datei wird im Temp-Verzeichnis gespeichert und am Ende wieder gelöscht.

Batch-Steuerzeichen z.B. (&) müssen im VBS-Code mit (^) Escaped werden.

Gruß Dieter
Bitte warten ..
Mitglied: GwenyA
13.08.2012 um 12:07 Uhr
Hallo an alle Helfer,

danke, danke, danke!

Ich habe das Problem nun mit einem Workaround gelöst und die Variablenübergaben folgendermaßen realisert:
Aufruf des vbskripts:
for /F "delims=" %%I IN ('cscript C:\Fusszeile.vbs') Do set "var=%%I"
und für die 2. Batch:
call C:\Normal.bat "%var%"

Nun läuft die Sache!

Gruß
Gweny
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
Problem mit der normal.dot
Frage von killtecMicrosoft Office3 Kommentare

Hallo zusammen, vorweg: Ja ich habe bereits gegoogelt, aber das passte alles nicht. Auf einen unserer Clients kommt bei ...

Batch & Shell
VBS Script in eine Textdatei ausgeben (VBS mit Batch zusammenführen)
gelöst Frage von Luuke257Batch & Shell5 Kommentare

Hallo zusammen! Vorweg, ich bin absoluter neuling im Scripten, ich habe mir das alles nur so zusammengebastelt und versuche ...

Entwicklung
Chat via VBS
Frage von Questionmark93Entwicklung

Hey Community, wollte mal Fragen ob jmd auf die Schnelle ein VBS Skript hat das als "Chat" genutzt werden ...

VB for Applications
VBS - Vor- und Nachnamen auslesen
Frage von Ah3n0bar6usVB for Applications2 Kommentare

Ich könnte noch einmal (teuren) Rat gebracuhen. Ich versuche mir dem u.a. Script den kompletten Namen eines Nutzers vom ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 2 TagenLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 3 TagenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 3 TagenSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 3 TagenSicherheit12 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
E-Mail
Erfahrungen mit hMailServer gesucht
Frage von it-fraggleE-Mail10 Kommentare

Hallo, meine neue Stelle möchte einen eigenen Mailserver. Ich als Linuxkind war direkt geistig mit Postfix dabei. Leider wollen ...

Entwicklung
VBS: alle PDF-Dateien in einem Ordner gleichzeitig öffnen
gelöst Frage von JuweeeEntwicklung9 Kommentare

Hallo, ich habe in deiner Ordnerstruktur (.\Tagesberichte\xx.18\) mehrere dynamische PDF-Formulare (mit LCD erstellt). Die Berichtsformulare sind im Layout alle ...

Firewall
Penetrationstester-Labor - Firewalls
Frage von Oli-nuxFirewall9 Kommentare

Mich würde interessieren warum man beim Einrichten eines Penetrationstester-Labor (VMs) die Firewall der Systeme deaktivieren soll? Hat das nur ...

Netzwerkgrundlagen
IPv6 Inter-VLAN Routing
gelöst Frage von clSchakNetzwerkgrundlagen9 Kommentare

Hi ich befasse mich gerade mit der Implementierung von IPv6 was bisher (in einem VLAN) korrekt funktioniert inkl. DNS ...