Word Vba Makrozulassung erzwingen

Hallo Wissende,

wenn du diese Anfrage erhälst obwohl du nix von Word Vba kennst dann schäme ich mich fremd für das w-w-w Team. Denn die haben dich als Experten für meine Anfrage ausgewählt, nicht ich.

Wie kann ich User eines Dokuments dazu zwingen daß sie es mit aktivierten Makros öffnen? In Excel-Vba weiß ich wie das geht, von Word habe ich keine Ahnung.
Recherche zu dem Thema im I-Net ergab bislang nix:frowning:

Eigene Bastelversuche führten u.a. zu diesem Dokument:
 http://www.file-upload.net/download-8316703/WortMitM…
(Kennwort für den Vbacode ist „abc“, desgleichen für .Protect)

Rein prinzipiell funktionert das ja. Wenn also der User das Dokument ohne Makros öffnet sieht er den gelben Hinweis und kann im Dokument nix machen.
Mit aktivierten Makros sieht er den gelben Hinweis nicht und kann im Dokument was ändern.

Aber leider *seufz* kann der User das leicht aushebeln. Dann wenn die Abfrage kommt ob Änderungen gespeichert werden sollen. Dann läuft da alles schief wenn er „Nein“ auswählt. Denn dann ist auch der gelbe Hinweistext beim nächsten Öffnen nicht da.

Und, die Abfrage ob Änderungen gespeichert werden sollen muß ja erhalten bleiben. Ansonsten könnte ich ja ein .Save einbauen, aber das ist ja ggfs. nicht erwünscht.

Ich bin für jeden Hinweis, Code, egal was, dankkbar der mir weiterhilft.
Für’s Archiv, da file-upload-Links nach einiger Zeit nicht mehr funktionieren nachstehend die Codes.

Danke ^ Gruß
Reinhard

Im Modul ThisDocument:

Option Explicit

Private Sub Document\_Close()
With ThisDocument
  '.Saved
  .Shapes("Makrohinweis").Visible = True
  .Protect wdAllowOnlyFormFields, , "abc"
End With
End Sub

Private Sub Document\_Open()
Dim S As Shape, Vorh As Boolean
For Each S In ThisDocument.Shapes
  If S.Name = "Makrohinweis" Then Vorh = True
Next S
With ThisDocument
  On Error Resume Next
  .Unprotect "abc"
  On Error GoTo 0
  If Not Vorh Then Call Einmalig
  .Shapes("Makrohinweis").Visible = False
  .TrackRevisions = True
  .PrintRevisions = False
  .ShowRevisions = False
  .Save
End With
End Sub

In einem Standardmodul:

Option Explicit

Sub Einmalig()
Dim S As Shape
For Each S In ThisDocument.Shapes
  If S.Name = "Makrohinweis" Then S.Delete
Next S
Set S = ThisDocument.Shapes.AddShape(msoShapeHorizontalScroll, 175.05, 90.2, \_
  240#, 135#)
With S
  .Name = "Makrohinweis"
  .TextFrame.TextRange.Text = vbLf & "Öffnen Sie dieses Dokument bitte" \_
    & vbLf & "MIT aktivierten Makros."
  With .TextFrame.TextRange.Font
    .Name = "Times New Roman"
    .Size = 14
    .Bold = True
    .UnderlineColor = wdColorAutomatic
  End With
  .Fill.ForeColor.RGB = RGB(255, 255, 0)
End With
End Sub

hallo

auweia - wenn das ginge, hätte der makrovirenschutz von microsoft sofort seine existenzberechtigung verloren.

makros haben im dokument nichts verloren! das macht nur probleme und öffnet schadcode tür und tor. als benutzer müsste ich mit allen verfügbaren mitteln dagegen wehren, wenn mir irgendwer versucht, so eine lösung unterzujubeln.

entweder du verstaust die makros dorthin, wo sie hingehören: also in eine dokumentvorlage, auf der die dokumente basieren, oder in ein add-in, dass sich der benutzer integrieren kann. oder verzichtest auf makros und versuchst, ohne diese auszukommen. oft kommt man im word bemerkensweit weit, ohne einen einzigen strich vba programmieren zu müssen.

oder deine lösung benötigt *wirklich* makros - dann hast du das falsche tool. du brauchst keine textverarbeitung sondern eine formularbasierte anwendung zur datenverarbeitung.

wenn du sicherheitsmerkmale in dein dokument integrieren willst, die makro-basiert funktionieren, um sich gegen bösartige anwender zu schützen, bist du ohnehin am falschen dampfer. ich installier mir einfach ein libreoffice/openoffice und umgeh alle deine schutzmechanismen.

lg
erwin

Hallo Erwin,

auweia - wenn das ginge, hätte der makrovirenschutz von
microsoft sofort seine existenzberechtigung verloren.

ich hoffe das es geht, ich suche ja den Weg dahin :smile: Mein Code ist kein Makrovirus.
Ich will ja „nur“ beim Öffnen eines Dokuments per Makro etwas „einschalten“ lassen.
Und zwar die Änderungsverfolgung in Word:
http://computer.wer-weiss-was.de/visual-basic/moecht….

Naja, grundsätzlich will ich es schon grundsätzlich wissen wie und ob das in Word geht. In Excel geht das „Zwingen“ zum Makroaktivieren ja auch.

makros haben im dokument nichts verloren! das macht nur
probleme und öffnet schadcode tür und tor. als benutzer müsste
ich mit allen verfügbaren mitteln dagegen wehren, wenn mir
irgendwer versucht, so eine lösung unterzujubeln.

Ich glaube das siehst du dann doch viel zu schwarz. Makros können viel, im Guten wie im Schlechten. Frag doch im VB-Brett nach wenn dir ein Code verdächtig vorkommt.

entweder du verstaust die makros dorthin, wo sie hingehören:
also in eine dokumentvorlage, auf der die dokumente basieren,
oder in ein add-in, dass sich der benutzer integrieren kann.

? Wenn ein Makro „böse“ ist, so ist es ihm fast egal wo es gestartet wird.
Für dein Dokument ggfs. genauso gefährlich als wenn es selbst im Dokument steht als Code.

oder verzichtest auf makros und versuchst, ohne diese
auszukommen. oft kommt man im word bemerkensweit weit, ohne
einen einzigen strich vba programmieren zu müssen.

Okay, wie gehst du vor um ohne Code zu erreichen daß da diese mistige Änderungsverfolgung eingeschaltet wird oder anderes was von Word automatisch beim Start deaktiviert ist/wird?

bist du ohnehin am falschen
dampfer. ich installier mir einfach ein libreoffice/openoffice
und umgeh alle deine schutzmechanismen.

Sicher, wenn du auch da Makros nicht aktivierst. Ich bin in der letzten Zeit ab und zu dabei Excel-Mappen mit Makros zu erstellen wo die Codes auch in LO/OO automatisch gestartet werden wenn man die xls-Mappe öffnet.

Btw., kennst du Free-Office? Da habe ich gelesen es kann auch xlsx und xlsm dateien öffnen. Habe es bislang nur runtergeladen aber noch nicht getestet.

Und zur Gefahr von Makroviren. Klar ist die vorhanden. Aber das leben ist immer lebensgefährlich.

Magste mal diese .doc öffnen:?
http://www.file-upload.net/download-8332372/RiverIQG…
Garantiert keine Makros drin.

Auf den großen Button klicken dann gehst los. Regeln wie beim auch hier bekannten Flußüberquerungsspiel, Ein Schäfer muß mit Boot wo immer nur zwei reinpassen, sich, nen Wolf, ein schaf, ein Kohlkopf übersetzen (lassen). OHNE daß da jmd. oder etwas gefressen wird.

Klick auf die Köpfe der Kinder, de Sträflings, des Bullen, dann sind sie auf dem Floß.
Bzw. dort noch mal auf den Kopf klicken dann gehen sie wieder vom Floß.
Bist du der Meinung da sind die richtigen zwei auf dem Floß, klick auf die roten Kugeln an den Stangen…

Btw: Auch in einer swf (shock wave flash) kann Schadware drin stecken, also willste spielen oder nich?

Danke dir für dein Interesse

Gruß
Reinhard

ich formulier es mal so:

wenn ich makros in dokumenten zulasse, gilt das für alle dokumente - egal aus welcher quelle. also auch für dokumente, die ich aus dem internet runterlade. also genau der weg, über den sich makroviren verbreiten.

wenn ich das makro in einen „vertrauenswürdigen“ container sperre - eben eine dokumentvorlage oder ein add-in, dann muss ich selber den code dorthin kopieren. ich kann also recht gut entscheiden, was ich ausgeführt haben will und was nicht. und zwar ohne mir vor dem öffnen eines dokuments den kopf zerbrechen zu müssen.

selbstverständlich ist schadcode gleich gefährlich, egal ob er in der dokumentvorlage, im add-in oder im dokument steckt. es geht nur darum, wie er dorthin kommt.

wenn es nur darum geht, dass die änderungsverfolgung aktiviert sein muss, reicht es ev. einen dokumentschutz anzuwenden. es gibt da die option, dass man das dokument nur überarbeiten darf. das ganze kann mit einem passwort versehen werden. der schutz ist zwar auch nur primitiv und lässt sich vergleichsweise leicht aushebeln. aber gegen unabsichtliches ändern des dokuments hilft es allemal. zum schutz vor bösartigen veränderungen am dokument sind sowieso alle standardwerkzeuge im word unbrauchbar - da hilft nur eine vernünftige dateiablage mit versionierung.

und versteh mich nicht falsch: was immer du auf DEINEM pc anstellst, ist ausschließlich deine angelegenheit. da will ich mich nicht einmischen. aber dies ist ein öffentliches forum. das lesen vielleicht auch leute, die nicht viel hintergrundwissen haben. die könnten vielleicht auf die idee kommen, makros in dokumenten sind generell eine gute idee - und bilden damit die basis für die nächste dokumentvirusoffensive.

lg
erwin

Hallo,

wenn ich makros in dokumenten zulasse, gilt das für alle
dokumente - egal aus welcher quelle. also auch für dokumente,
die ich aus dem internet runterlade.

Ich bitte um Entschuldigung, aber ich glaube, das ist nicht richtig. Microsoft bietet die Möglichkeit, Makros zu signieren.

http://office.microsoft.com/de-de/word-help/digitale…

Der Anwender kann sich dann entscheiden, ob er den Makros aus einen bestimmten Quelle vertrauen möchte. Das Zulassen gilt dann nur für diese Quelle erkenntlich aus der Signatur.

MfG,

ujk

Hallo Erwin,

wenn ich makros in dokumenten zulasse, gilt das für alle
dokumente - egal aus welcher quelle. also auch für dokumente,
die ich aus dem internet runterlade. also genau der weg, über
den sich makroviren verbreiten.

mag alles so sein, ich weiß aber nicht was dies mit makros allgemein zu tun hat.

wenn ich das makro in einen „vertrauenswürdigen“ container
sperre - eben eine dokumentvorlage oder ein add-in, dann muss
ich selber den code dorthin kopieren. ich kann also recht gut
entscheiden, was ich ausgeführt haben will und was nicht. und
zwar ohne mir vor dem öffnen eines dokuments den kopf
zerbrechen zu müssen.

All das was du aufzählst ist doch das Gleiche. In allen Fällen triffst du „vorher“ eine Entscheidung ob Makro ja oder nein. (minimale Sicherheitsstufe lasse ich ma weg)

selbstverständlich ist schadcode gleich gefährlich, egal ob er
in der dokumentvorlage, im add-in oder im dokument steckt.

Sag ich doch :smile:

es geht nur darum, wie er dorthin kommt.

Es gibt Gründe warum der eine die Codes „da“ haben will und andere die Codes „dort“. In meinem Fall habe ich hier angefragt um herauszufinden ob und wie es möglich ist die Code-Funktionalität die ich brauche IN die Datei einzubringen.
Über .dot, .xla, StartUp-Ordner, selfcert o.ä. kann ich ja immer noch „gehen“.

wenn es nur darum geht, dass die änderungsverfolgung aktiviert
sein muss, reicht es ev. einen dokumentschutz anzuwenden. es
gibt da die option, dass man das dokument nur überarbeiten
darf. das ganze kann mit einem passwort versehen werden.

Aha, muß mal in angegebener Beitragsfolge schauen ob es dafür was ist. Das ändert aber nichts an meiner Anfrage hier.

mich nicht einmischen. aber dies ist ein öffentliches forum.
das lesen vielleicht auch leute, die nicht viel
hintergrundwissen haben. die könnten vielleicht auf die idee
kommen, makros in dokumenten sind generell eine gute idee -

Sie können eine gute Idee sein, wie auch eine schlechte.
Du urteilst in diesem Makrofall ziemlich pauschal nur schwarz-weiß.

und bilden damit die basis für die nächste
dokumentvirusoffensive.

Mein und viele andere Codes aber nicht.

Gruß
Reinhard

Hallo,

sorry, aber ich habe keine wirkliche Ahnung von VBA-Skripten. Hätte dir gerne geholfen …

Gruß
U. Eckert