Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Mehrere Wörter/Begriffe in Word/Tabelle suchen

Begonnen von Frank77, Oktober 12, 2016, 12:14:59

⏪ vorheriges - nächstes ⏩

Frank77

im ersten Ansatz konnte ich das erste Wort finden und formatieren und hab die gleiche Prozedur nochmal laufen lassen allerdings ging das nicht

Set objRange = objDocument.Tables(3).Cell(1, 2).Range
            With objRange.Find
                .MatchCase = False
                .Forward = True
                .Execute FindText:="Telefon:"
                If .Found = True Then
                    objRange.Bold = True
                    .Font.Size = 9
                End If
            End With

'der 2. durchlauf geht hier nicht keine Ahnung warum
            With objRange.Find
                .MatchCase = False
                .Wrap = wdFindContinue
                .Forward = True
                .Execute FindText:="Internet:"
                If .Found = True Then
                    objRange.Bold = True
                    objRange.Font.Size = 9
                End If
            End With


im 2. Ansatz eines Codes habe ich es mit einer Schleife probiert doch wird bei
Debug.Print AktWord.Text
das gesuchte Wort nicht erkannt da der Doppelpunkt extra selektiert wird
Print Ausgabe ist dann

Telefon
:


nehme ich im Array die Doppelpunkte raus dann müsste es ja gehen allerdings wird dann nur die Formatierung des gesamten Textes geändert

    Dim objDocument As Word.Document
    Dim objRange As Word.Range
    Dim varFindText As Variant
    Dim AktWord As Variant
    Dim i As Integer

    varFindText = Array("Telefon:", "Internet:", "Privat:")
    Set objRange = objDocument.Tables(3).Cell(1, 2).Range
    With objRange
        For i = LBound(varFindText) To UBound(varFindText)
            For Each AktWord In .Words
            Debug.Print AktWord.Text
                If AktWord.Text = varFindText(i) Then
                    .Bold = True
                    .Font.Size = 9
                End If
            Next
        Next i
    End With


Gruß Frank
Selbstständig = Selbst und Ständig

markusxy

Zitat von: Frank77 am Oktober 12, 2016, 12:14:59

'der 2. durchlauf geht hier nicht keine Ahnung warum

Diesen Punkt solltest du nicht einfach überspringen.
So lange du nicht verstehst wie das Objekt arbeitest, bist du immer auf den Zufall angewiesen, oder jemanden der dir hilft.
Ganz nach Deinem Motto "Selbstständig = Selbst und Ständig" solltest du also das FindObjekt seine Eigenschaften und Methoden genau ansehen und herausfinden wo dein Verständnis Fehler ist-> Gehen wir mal davon aus, das es kein Bug ist.

LG Markus

Frank77

#2
hi!  Markus

Hab nach langem Lesen und suchen eine lösung gefunden die funzt, ich muss aber sagen das man wenig im netz dazu findet oder nicht das genau was ich suchte
in meinem fall kann ich die ganze Zeile Formatieren obs 100% richtig ist und wie ih das mit dem suchwort mache find ich "Selbst und Ständig" bestimmt noch raus

P.S. schade das es Office Lösungen nicht mehr gibt da waren die Leute Freundlicher und vieleicht findt der ein oder ander ja was er sucht

varFindText = Array("Telefon:", "Internet:", "Privat:")
    Set objRange = objDocument.Tables(3).Cell(1, 2).Range
    With objRange.Find
        For i = LBound(varFindText) To UBound(varFindText)
            .Forward = True
            .Wrap = wdFindContinue
            .MatchCase = False    'True, Wenn der Suchvorgang Groß-/Kleinschreibung beachtet wird.
            .MatchWholeWord = True    'True, Wenn der Suchvorgang nur ganze Wörter sucht und keinen Text, der Teil eines größeren Worts ist.
            .MatchWildcards = False    'True, Wenn der zu suchende Text Platzhalter enthält.
            .MatchSoundsLike = False    'True, wenn Wörter, die ähnlichen den gesuchten Text.
            .MatchAllWordForms = False    'True, Wenn alle Formen der den gesuchten Text des Suchvorgangs gefunden werden
            .Execute FindText:=varFindText(i)
            If .Found = True Then
                Select Case .Text
                Case "Geschäftlich:", "Privat:"
                    objRange.Bold = True
                    objRange.Font.Size = 10
                    objRange.Underline = wdUnderlineSingle
                Case Else
                    objRange.Bold = True
                    objRange.Font.Size = 9
                    objRange.Underline = wdUnderlineSingle
                End Select
            End If
        Next i
    End With
Selbstständig = Selbst und Ständig

MaggieMay

Zitatschade das es Office Lösungen nicht mehr gibt
Wie kommst du denn darauf? Das neue "provisorische" Forum ist weiterhin aktiv.

Aber du trifft dort wie auch hier auf Menschen, die helfen wollen - mal mehr oder auch mal weniger gut gelaunt. ;-)
Freundliche Grüße
MaggieMay

markusxy

Zitat von: Frank77 am Oktober 12, 2016, 16:02:55
Hab nach langem Lesen und suchen eine lösung gefunden die funzt

Es ist schön, dass du eine Lösung gefunden hast.
Bezüglich such im Netz, hab ich halt die Erfahrung gemacht, dass es mehr bringt die VBA Hilfe anzusehen.
Das Problem der Hilfestellungen in Foren, ist ja dass die User die Grundprinzipien nie richtig erlernen.
Wenn man die Grundprinzipien einmal verstanden hat, braucht man nämlich nur noch höchstselten Hilfe, und schreibt besseren Code mit neuen und unbekannten Klassen wie andere die schon öfters mit denselben Klassen gearbeitet haben, aber daran gewöhnt sind zu kopieren. Daher findet man im Netz auch selten durchdachten Code.
Deshalb mein Appell verstehen und nicht kopieren und nicht die Zeit mit suchen nach Code vergeuden.
Gruss Markus

Frank77

Hallo! Mein lieber Markus

Ich bin kein Vollzeit Programmierer und hab auch nur bedingt Zeit daran zu arbeiten da ich ja vielmehr etwas Anderes mache, aber interessiert bin
Ja nun hab mir das schöne buch gekauft Access und Office und freu mich darüber das es mal ein super Werk ist und nicht immer nur das gleiche drinsteht

ZitatZitat aus dem Buch:
Die Funktionen zum Suchen und Ersetzen von Texten mit bestimmten Inhalten oder Formatierungen
in Word sind sehr umfangreich – so umfangreich, dass man eigentlich ein eigenes Kapitel
darüber schreiben könnte.

Mist das Kapitel gibt's leider nicht und 8.3 besteht leider nur aus 2 Seiten, und einem langen Code der sich auch noch um html dreht .... So ein Dreck aber auch

Da könnte man doch mal bei Google eingeben ,,Access VBA Mehrere Wörter suchen und Formatieren"

2 Tage und Unzählige Informationsfluten später habe ich mir dann mal was zusammengebastelt und mich gefreut das es die erste Zeile in meinem Text ändert

Ok da könnte ich ja mal im Forum fragen was ich da falsch mach es wäre ja ein sinnvoller Beitrag das schritt weise zu erörtern wie so ein Schema von sich geht.

Aber du hast mir ja jetzt gezeigt das so ein vorgehen absolut falsch ist und sich auf sehr niederem Niveau bewegt
Ich hätte mir ein Word VBA Buch kaufen sollen eventuell noch ein Seminar belegen müssen bevor ich mir anmaße ein Forum zu belästigen

Ich entschuldige mich auch für mein unprofessionelles vorgehen und sollte ich User wie dich die nach Höherem sterben mit diesem Niveau beleidigt haben tut es mir leid und werde es nochmal überdenken

P.s. vielleicht kannst du mir evtl. sagen wie ich die Hilfe in Access 2016 wieder so umstellen kann das auf dem Pc gesucht wird und nicht im netz         
Selbstständig = Selbst und Ständig

MaggieMay

Hi,
Zitatsollte ich User wie dich die nach Höherem sterben mit diesem Niveau beleidigt haben tut es mir leid
Zitat von: MaggieMay am Oktober 12, 2016, 17:04:35Menschen, die helfen wollen - mal mehr oder auch mal weniger gut gelaunt. ;-)

... das war dann wohl ein eher schlecht gelaunter Frank77!

Wenn die letzte Frage ernst gemeint war:
Ich kenne A2016 noch nicht - gibt es da einen wesentlichen Unterschied zu A2010 bzgl. der Hilfe?
Freundliche Grüße
MaggieMay

Frank77

Hi! Maggie

Nee! ich habe keine schlechte Laune garet weil es gibt ja keine dummen Fragen nur dumme Antworten
es war eher Sarkastisch gemeint

Wenn im Editor F1 drückst kommst immer auf die online Hilfe und nicht auf die im PC
bei 2010 hat ich des mal nach einem update und da konnte man des irgendwo einstellen
entweder ist es gut versteckt oder das geht nemme
die andern unterschiede kann ich nicht genau sagen ... kenn ich mich zu wenig aus
Tabellen Auswahl im SQL Fenster ist grösser und so Sachen ... wenn ich damit ein Weilchen Arbeite dann vergesse ich auch schnell wie des andere aussah  ;D

Wenn ich meine alte DB in 2013 (nur mal Getestet nicht besessen) geöffnet hab dann war mein gesamtes Formular also Steuerelemente und Buttons verschoben und die konische Tablet Aufmachung fand ich auch Mist

Bei 2016 war das mit der alten DB ok ich musste die Button Designs ändern und ein Paar Farb Anpassungen von Rahnem
Wenn ich DB in 2010 jetzt öffne und dann wieder in 2016 dann sind die Haarlinien bei den Buttons alle Fett ... schließen wieder öffnen alles ok

Ob man das als Programmieren braucht kann ich net sagen und wo genau die Vorteile liegen
Ich war neugierig und brauchte was zum absetzen


ich hab aber die 2010 Runtime installierten müssen sonst kann ich den Smart Intenden zum Code einrücken nicht verwenden ist mir aufgefallen ... so nebenbei

Gruß Frank
Selbstständig = Selbst und Ständig

MaggieMay

Vielen Dank für deine Kommentare, das lässt mich nichts Gutes ahnen - auch mir steht die Umstellung auf Office 2016 bevor.

BTW:
Zitatwar eher Sarkastisch gemeint
Auch Sarkasmus kommt mAn nicht unbedingt aus 'heiterem' Himmel. :-)
Freundliche Grüße
MaggieMay