Paradaxon Geschrieben 13. November 2009 Teilen Geschrieben 13. November 2009 Hallo People, ich habe einen problem : und zwar, mmmm ich habe ein Code für Makro, mit um Word zu benutzen, hier ist der CODE Sub Makro1() ' ' Makro1 Makro ' ' For Each aWord In ActiveDocument.Words If (aWord.Text <> vbCr) And (aWord.Text <> "; ") And (aWord.Font.Spacing <> 2) Then aWord.Select Selection.Copy Selection.MoveRight Unit:=wdCharacter, Count:=1 Selection.TypeText Text:="; " Selection.PasteAndFormat (wdPasteDefault) Selection.MoveLeft Unit:=wdWord, Count:=1, Extend:=wdExtend Selection.Range.Case = wdUpperCase Selection.Font.Spacing = 2 End If Next aWord Selection.EndKey Unit:=wdLine End Sub ICH möchte gerne wissen wie kann ich Space Funktion bauen, z.b Deutschland ist normal Wort, der CODE zeigt : Deutschland; DEUTSCHLAND bitte Hilfe wegen Spacing damit ich so bekommen kann: Deutschland; D E U T S C H L A N D Vielen dank :upps Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MartinSt Geschrieben 13. November 2009 Teilen Geschrieben 13. November 2009 1. es gibt Code Tags 2. Code wird nicht schlechter, wenn man ihn formatiert 3. mit mid$ kann man im VB in einem String Zeichen einfügen 4. das Forum akzeptiert auch Beiträge im zivilisierten Deutsch Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Paradaxon Geschrieben 13. November 2009 Autor Teilen Geschrieben 13. November 2009 habe nicht richtig verstanden, kannst du bitte beispiel schreiben? ich bin neu bei den ding VB, mmmm wenn es kurz it bittte schreib ma mal. kannst du ? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MartinSt Geschrieben 13. November 2009 Teilen Geschrieben 13. November 2009 Hast du dir in den 7min zwischen den beiden Posts mal die Mühe gemacht SELBER zu schauen, was mid$ macht? Wenn ja, mit welchem Ergebnis? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Paradaxon Geschrieben 13. November 2009 Autor Teilen Geschrieben 13. November 2009 nein noch nicht, ich habe nur mit Spacing funktion versucht, aber gibt nur font Space und nicht richtige Leerzeichen, Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MartinSt Geschrieben 13. November 2009 Teilen Geschrieben 13. November 2009 FontSpacing hat damit nichts zu tun und deswegen hatte ich Dir ja auch mid$ empfohlen Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Paradaxon Geschrieben 24. November 2009 Autor Teilen Geschrieben 24. November 2009 mit mid$ kannst du einfach vergessen Hilft nicht... komm lets see : hier steht ein CODE, test it und lösch mal die fontspacing, und wenn du Mid$ benutzt, mach mal bitte und lass diese Wort mit leerzeichen. Original : Germany, muss nach Germany ; kommen und dann kopiert, dann hast du germany; germany, dann großbuchstaben, alles schon erledigt dann wenn du kannst : Leerzeichen , dann hast du G E R M A N Y, und nicht font spacing. hier ist der Code: Sub Makro1() ' ' Makro1 Makro ' ' Selection.HomeKey Unit:=wdLine Selection.EndKey Unit:=wdLine, Extend:=wdExtend Selection.Copy Selection.EndKey Unit:=wdLine Selection.TypeText Text:="; " Selection.PasteAndFormat (wdPasteDefault) Selection.TypeBackspace Selection.MoveLeft Unit:=wdWord, Count:=1, Extend:=wdExtend Selection.Range.Case = wdUpperCase Selection.Font.Spacing = 2 Selection.MoveDown Unit:=wdLine, Count:=1 End Sub kannst du ?:upps Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 24. November 2009 Teilen Geschrieben 24. November 2009 mit mid$ kannst du einfach vergessen Hilft nicht...Doch, die Mid-Anweisung ist eine Möglichkeit, das zu machen. Wenn das bei dir "nicht hilft", dann machst du etwas falsch. Zeig uns, was du damit gemacht hast, dann sagen wir dir, was falsch ist. Mid Statement Um Zeichen einzufügen statt zu ersetzen, musst du für den Length-Parameter 0 angeben. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Paradaxon Geschrieben 24. November 2009 Autor Teilen Geschrieben 24. November 2009 ich habe alles gelöscht, es war für mich VIEL, ich mache gerade Dualstudium, und bin Neu, kannst du bitte das für mich machen? ich habe keine Ahnung von diese SACHEN . bitte jetzt bin ich wieder hier : Sub Makro2() ' ' Makro2 Makro ' ' For Each aWord In ActiveDocument.Words If (aWord.Text <> vbCr) And (aWord.Text <> "; ") And (aWord.Font.Spacing <> 2) Then aWord.Select Selection.Copy Selection.MoveRight Unit:=wdCharacter, Count:=1 Selection.TypeText Text:="; " Selection.PasteAndFormat (wdPasteDefault) Selection.MoveLeft Unit:=wdWord, Count:=1, Extend:=wdExtend Selection.Range.Case = wdUpperCase Selection.Font.Spacing = 2 End If Next aWord Selection.EndKey Unit:=wdLine End Sub versuch mal bitte, LG Ori Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 24. November 2009 Teilen Geschrieben 24. November 2009 kannst du bitte das für mich machen? ich habe keine Ahnung von diese SACHEN .Und daran wird sich auch nichts ändern, wenn du es nicht selbst machst. Aber mal etwas Grundsätzliches: Dein Code sieht so aus, als ob du versuchst, Word fernzusteuern. Das ist meiner Meinung nach unnötig kompliziert. Steck den Text der Selection in eine Variable. Wandle sie in Großbuchstaben um (UCase), dann füg in einer Schleife mit Mid die Leerzeichen ein. Danach schreibst du den Inhalt der Variablen zurück in die Selection. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
LadyPreis Geschrieben 24. November 2009 Teilen Geschrieben 24. November 2009 ich habe alles gelöscht, es war für mich VIEL, ich mache gerade Dualstudium, und bin Neu, kannst du bitte das für mich machen? ich habe keine Ahnung von diese SACHEN . ein Studium ist aber nicht dafür da, dass andere Leute deine Aufgaben erledigen. Immerhin sollst du was lernen. Schließe mich meinen Vorpostern an: Lies dir die Hilfe durch und probiere damit aus. Wenn du dann Fehler bekommst, helfen wir gerne, aber wir werden nicht deine Aufgaben komplett erledigen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Paradaxon Geschrieben 24. November 2009 Autor Teilen Geschrieben 24. November 2009 hehe okey, das ist richtig so Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Paradaxon Geschrieben 24. November 2009 Autor Teilen Geschrieben 24. November 2009 good, wie findest du es jetzt ? Sub Makro5() ' ' Makro5 Makro ' ' For Each aWord In ActiveDocument.Words If (aWord.Text <> vbCr) And (aWord.Text <> "; ") And (aWord.Font.Spacing <> 2) Then aWord.Select Selection.Copy Selection.MoveRight Unit:=wdCharacter, Count:=1 Selection.TypeText Text:="; " Selection.PasteAndFormat (wdPasteDefault) Selection.MoveLeft Unit:=wdWord, Count:=1, Extend:=wdExtend Selection.Range.Case = wdUpperCase Selection.Font.Spacing = 2 End If Dim spaceString$ For I = 1 To Len(aWord) spaceString = spaceString + Mid$( aWord, i, 1) + ' ' Next I Tri*** (spaceString) Next aWord Selection.EndKey Unit:=wdLine End Sub Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MartinSt Geschrieben 24. November 2009 Teilen Geschrieben 24. November 2009 du weist dein ergebnis spaceString nirgendswo zu Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Paradaxon Geschrieben 24. November 2009 Autor Teilen Geschrieben 24. November 2009 ich habe geschaft: Test it: Sub Makro6() Dim strTest As String Dim test As Integer Dim counter As Integer For Each aWord In ActiveDocument.Words If (aWord.Text <> vbCr) And (aWord.Text <> "; ") Then counter = counter + 1 Selection.EndKey Unit:=wdLine End If Next Do While (counter > 0) Selection.HomeKey Unit:=wdLine Selection.EndKey Unit:=wdLine, Extend:=wdExtend strTest = Selection Selection.Copy Selection.EndKey Unit:=wdLine Selection.TypeText Text:="; " Selection.PasteAndFormat (wdPasteDefault) Selection.TypeBackspace Selection.MoveLeft Unit:=wdWord, Count:=1, Extend:=wdExtend Selection.Range.Case = wdUpperCase strTest = Selection test = Len(strTest) - 1 Selection.EndKey Unit:=wdLine Do While (test > 0) Selection.MoveLeft Unit:=wdCharacter, Count:=1 Selection.TypeText Text:=" " Selection.MoveLeft Unit:=wdCharacter, Count:=1 test = test - 1 Loop Selection.EndKey Unit:=wdLine Selection.MoveRight Unit:=wdWord, Count:=1 counter = counter - 1 Loop End Sub :old Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.