1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Unbekannter Fehler im Makro für MS Word 2000

Discussion in 'Office-Programme' started by bnbre, Feb 3, 2009.

Thread Status:
Not open for further replies.
  1. bnbre

    bnbre Byte

    Hallo lb. Office-Experten,
    zu Dokumentenwörter nach Excel wurde mir nachfolgendes Makro bzw. VBA Lösung aufgezeigt:
    Ich habe dieses Makro in einem Word 2000 Dokument mit etwas Test-Text und einer importierten
    eingebundenen/verknüpfte Excel Tabelle untergebracht.
    Beim Ausführen jedoch bekomme ich jedoch immer die Fehler-Meldung:
    Fehler beim kompilieren: , SepararteNumbers.=False,
    Wer mag/kann mir dazu etwas sagen. Ich freue mich über jede Nachricht
    Gruß Karl

    Sub GlossarErstellen()
    Dim oDoc As Document
    Dim nTable As Table
    Dim oRow As Row
    Dim oRange As Range
    Set oDoc = ActiveDocument
    Set oRange = oDoc.Range
    If Not oRange.Bookmarks.Exists("Glossar") Then
    Selection.EndKey Unit:=wdStory
    Selection.Paragraphs.Add
    Selection.Paragraphs.Add
    Selection.Collapse Direction:=wdCollapseRight
    Selection.Tables.Add Selection.Range, NumRows:=1, NumColumns:=1
    Selection.Tables(1).Select
    Selection.Bookmarks.Add Name:="Glossar"
    End If
    inBox = InputBox("Nach welchem Wort soll gesucht werden?", "Suchwort")
    Selection.HomeKey Unit:=wdStory
    With Selection.Find
    .Text = inBox
    .Wrap = wdFindContinue
    .Forward = True
    .MatchCase = True
    .Execute
    End With
    If Selection.Find.Found Then
    Wort = Selection.Text
    Selection.Bookmarks.Add Name:=Wort
    oDoc.Bookmarks("Glossar").Select
    Set nTable = Selection.Tables(1)
    nTable.Rows.Add
    Set oRow = nTable.Rows.Last
    oRow.Select
    Selection.Collapse Direction:=wdCollapseStart
    Selection.InsertCrossReference ReferenceType:="Textmarke", ReferenceKind:= _
    wdContentText, ReferenceItem:=Wort, InsertAsHyperlink:=True, _
    IncludePosition:=False, SeparateNumbers:=False, SeparatorString:=" "
    nTable.Sort
    End If
    End Sub
     
  2. Urs2

    Urs2 Megabyte

    Allgemein > Schreib im VB-Editor zuoberst, oberhalb der Zeile "Sub GlossarErstellen()", immer eine Zeile "Option Explicit"
    Dann kannst Du im Editor Debuggen/Kompilieren und die Einfügemarke zeigt gleich die Fehlerstelle an.

    Alle Variablen müssen dann definiert sein, also in Deinem Fall unter den vorhandenen Dim die Zeile "Dim inBox, Wort" einfügen.

    Wenn Du jetzt kompilierst stolpert er über die Zeile
    Selection.Collapse Direction:=wdCollapseRight
    Er meint, die "Variable" wdCollapseRight sei nicht deklariert... weil es ein falsches Schlüsselwort ist...

    In Word2003 gibt es nur wdCollapseStart oder wdCollapseEnd, und es akzeptiert die gewählte Schreibweise aus unerfindlichen Gründen nicht. So muss es bei mir geschrieben sein >
    Selection.Collapse(wdCollapseEnd)
    ...ob es in Word2000 auch so ist, müsstest Du in der Word-Hilfe prüfen... oder testen.

    Mangels passendem Text kann ich hier die Funktion nicht nachvollziehen...


    >>> Was ist eigentlich aus Deinem anderen Problem geworden > http://www.pcwelt.de/forum/office-programme-microsoft-office-openoffice-org-staroffice/345050-w-rter-dokumenten-excel-kopieren.html ?
    ...wir hatten uns abgemüht und nach einer Lösung gesucht... und Karl wurde nicht mehr gesehen... :rolleyes:

    Gruss Urs
     
  3. Hascheff

    Hascheff Moderator

    Hallo,
    ich habe in Word 2000 nachgesehen, da ist es auch so, wie Urs schreibt.

    Gruß
    Hascheff
     
  4. bnbre

    bnbre Byte

    Hallo lieber Herr Hascheff
    ich will, ein letztes Mal mich zum Makro Glossar melden, letztmalig, weil
    mich verschiedene Kommentare doch sehr verunsichert haben.
    Was spricht den dagegen - es ist für mich ein sportlicher Ehrgeiz – diese
    Makrolösung lauffähig zu bringen. Die dazu angebotene Access-Lösung
    konnte ich erfolgreich umsetzen.
    Zu den Vorschlägen von Urs diese brachten noch nicht den gewünschten
    Erfolg.
    Ich versuche es mit Word 2000 sowie mit Wort 97
    Die Zeile: Option Explicit ist Ok
    Die Zeile: Dim inBox, Suchwort ' scheint nicht unbedingt nötig zu sein?
    Egal ob mit oder ohne, es bleibt bei der Fehlermeldung:
    SeparateNumbers:=False, SeparatorString:=" "

    Wie verhält es sich eigentlich mit der Tabelle: Dim nTable As Table ?!
    Eine Wort-Tabelle im Hauptdokument oder als zusätzliches Dokument,
    eine Excel Tabelle scheint es ja nicht zu sein.
    Gruß Karl
     
  5. Urs2

    Urs2 Megabyte

    Beliebt der Herr des Oefteren in Rätseln zu schreiben?

    Falls Dir ein gewisser Eberhard auf den Schlips getreten sein sollte >

    Ich kenne keinen Eberhard, und in Deinen beiden einzigen Threads sehe ich weder einen solchen, noch lese ich etwas über einen Access-Vorschlag, noch eine Herabsetzung Deines vernünftigen Wunsches, VBA kennen lernen zu wollen...

    Wenn Du aber in verschieden Foren dieselben Fragen stellst, oder über Email und PN mit Helfern verkehrst, dann ist das >

    - vorsichtig ausgedrückt > eine Enttäuschung für die "öffentlichen" Helfer wie mich
    - etwas gröber geschrieben > Deinerseits eine Verletzung der Volksweisheit "Wer lügt, muss ein gutes Gedächtnis haben"
    Immerhin solltest Du dann, aufgrund der Aussagen "jener", nicht "diese" beleidigen wollen...


    1. Mit Word97 wäre ich vorsichtig, Word2000 hat im Prinzip die gleiche VBA-Engine wie spätere Word2xxxx... mit Ausnahmen...

    2. Die Zeile "Option Explicit" ist freiwillig, sie hilft bei der Fehlersuche.

    3. Wenn Option Explicit aber dort steht, dann müssen alle Variablen deklariert sein, also im Beispiel "Dim inBox, Wort".

    4. Damit wird erreicht, dass beim Kompilieren alle deklarierten Variablen akzeptiert werden, aber alle falsch geschrieben Schlüsselwörter angemeckert werden.

    5. Wenn während der Lauftzeit des Makros eine Fehlermeldung angezeigt wird, gibt es zwei Möglichkeiten die Fehlerzeile im Makro zu finden:

    - es wird eine Box mit der Auswahl angezeigt "OK" oder "Debuggen"
    > wähle "Debuggen", dann wird die falsche Zeile gelb markiert

    - sonst das Makro im VB-Editor im Schrittmodus starten (in der Symbolleiste > Symbol "Schrittmodus* immer wieder drücken)
    > dann siehst Du bei welcher Zeile das Makro Probleme hat...

    6. Dim nTable und der nachgängige Aufruf nTable(1) beziehen sich wohl auf die erste (und wohl einzige) Tabelle in Word.
    Wie schon geschrieben, kann ich das mangels passendem Word-Dokument hier nicht klar nachvollziehen.


    Solltest Du auf meine Eingangserklärung hier keine schlüssige Erklärung liefern wollen, darfst Du Dich selbstverständlich hier um weitere Antworten bemühen (ich bin nicht Moderator), ich werde mich dann aber,wenn immer möglich, mit Bezug auf diesen Beitrag melden...

    Gruss Urs
     
  6. Hascheff

    Hascheff Moderator

    Hallo bnbre,
    "lieber Herr" ist hier nicht üblich. Ich werte das jetzt mal als Unkenntnis und nicht als Schleimen.

    Wenn man deine Threads aufmerksam liest, ist nicht zu übersehen, dass die Hilfe im wesentlichen durch Urs geleistet wurde. Das hat zeitliche und sachliche Gründe. Urs war zuerst da und er kennt sich auch besser mit Makros aus. Sich in ein fremdes Makro (noch dazu ohne Kenntnis des Dokuments) einzulesen ist nicht immer einfach. Wenn ich sehe, dass sich schon einer die Mühe gemacht hat und die Hilfe sachverständig gegeben wird, spare ich mir den Aufwand und beobachte im Hintergrund.

    Dem, was Urs zuletzt geschrieben hat, kann ich nur zustimmen.

    Gruß Hascheff
     
    Last edited: Feb 6, 2009
Thread Status:
Not open for further replies.

Share This Page