Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Mit VBA Makrosicherheit ändern

Frage Entwicklung Basic

Mitglied: mtriebler

mtriebler (Level 1) - Jetzt verbinden

26.07.2009, aktualisiert 10:46 Uhr, 7221 Aufrufe, 5 Kommentare

Problem: Verändern der Makrosicherheit der geöffneten Word-Datei mit VBA ??
(oder löschen des laufenden Makros ??)

Die Aufgabenstellung ist folgende:

Mit einem Makro wird bewirkt, daß Anwender, die nicht fit sind in Windows ihre Dokumente in einheitlicher Form (Dateinamen) ins richtige Verzeichnis speichern, wo sie später weiter bearbeitet werden können.

Lösung, so weit ich gekommen bin:

Das Dokument wird geöffnet. Mit InputBox() werden in Autoopen() 2 Informationen abgefragt (Schreiber bzw. Topic und das Datum, das im Dateinamen erscheinen soll).
Diese Daten werden auch ins Dokument übernommen (weil sie da gebraucht werden)

Dann wird das Dokument sofort mit Ursprungsnamen, ergänzt um die beiden Informationen, ins Zielverzeichnis gespeichert. Jetzt steht es für weitere Bearbeitung zur Verfügung.
Das Ausgangsdokument bleibt unverändert.

Problem, noch nicht gelöst:

Beim Öffnen der erzeugten Datei startet Autoopen() logischerweise wieder. Das ist überflüssig, und wenn die Anwender nicht sofort "Abbrechen" anklicken, besteht die Gefahr die alten Werte zu überschreiben.

Also möchte ich, daß Autoopen in der zweiten Datei

- entweder nicht mehr ausgeführt wird ( wenn das irgendwie geht)
- oder verschwindet. (Es schadet nichts, wenn das Makr jetzt abbricht. Hauptsache, die Anwender landen im Word-Dokument)

Gibts da eine Lösung?

mtiebler
Mitglied: 76109
26.07.2009 um 11:52 Uhr
Hallo mtriebler!

Dann füge doch einfach in Autoopen einen Test ein, der prüft, ob das Document bereits eine Dateinamenserweiterung enthält.

So in der Art:
01.
if IsDate(Right(ThisDocument.Name, 10)) Then Exit Sub
Gruß Dieter
Bitte warten ..
Mitglied: miniversum
26.07.2009 um 12:00 Uhr
Möglichkeit 1:
Überprüfe im Sutoopen ob der Dateiname dem Namen der Vorlagendatei entspricht. Wenn nicht wird das Makro beendet.
Möglichkeit2:
Die informationen wirst du ja dneke ich, wenn sie auch im Dokument verwendet werden sollen, wahrhscienlich in Feldern hinterlegen (wenn dem nicht so ist gib bescheid). Du musst also nur in der Autoopen funktion diese Felder abfragen und kontrollieren ob ihnen bereits Werte zugewiesen wurden. Wenn ja wird das Makro beendet.
Bitte warten ..
Mitglied: mtriebler
26.07.2009 um 12:11 Uhr
Herzlichen dank, alle Vorschläge helfen mir weiter mtriebler
Bitte warten ..
Mitglied: mtriebler
26.07.2009 um 12:12 Uhr
Gute Idee, aber das datum wird per Hand eingegeben, da es nicht identisch sein muß mit dem Bearbeitungsdatum. (z.B. "Protokoll vom..."

Werde Deinen Rat aber befolgen bzw. variieren, indem ich abfrage, ob eine Zahl im Dateinamen vorkommt. Das müßte klappen. Danke
Bitte warten ..
Mitglied: 76109
26.07.2009 um 12:32 Uhr
Hallo mtriebler!

Das könntest Du mit Like sehr einfach überprüfen z.B.:
If ThisDocument.Name Like "*##.##.*" Then Exit Sub

(#) steht für einen x-beliebigen numerischen Wert. Das Format entsprechend anpassen.

Gruß Dieter
Bitte warten ..
Neuester Wissensbeitrag
Off Topic

"Ich habe nichts zu verbergen"

(4)

Erfahrungsbericht von FA-jka zum Thema Off Topic ...

Ähnliche Inhalte
Microsoft Office
gelöst VBA: Dateiinhalte in Abhängigkeit des Dateinamens importieren (4)

Frage von Booster07 zum Thema Microsoft Office ...

VB for Applications
VBA Grenzwerte in String prüfen Regex ??? Excel2010 (1)

Frage von Chillministrator zum Thema VB for Applications ...

Grafikkarten & Monitore
Intel User Interface - Sprache ändern (4)

Frage von FA-jka zum Thema Grafikkarten & Monitore ...

Heiß diskutierte Inhalte
Erkennung und -Abwehr
Virenschutz - Meinungen (24)

Frage von honeybee zum Thema Erkennung und -Abwehr ...

Windows 10
Welches OS für Firmengeräte? (17)

Frage von MarkusVH zum Thema Windows 10 ...

Exchange Server
SBS2011: POP3-Connector 10 MB Grenze Email Benachrichtigung (13)

Frage von bogi1102 zum Thema Exchange Server ...

DNS
Brauche einen Nameserver (12)

Frage von leon123 zum Thema DNS ...