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

Power Point 2007 - Sprache via VBA Makro auf US-Englisch umstellen

Frage Entwicklung VB for Applications

Mitglied: Blu3Scr33n

Blu3Scr33n (Level 1) - Jetzt verbinden

11.09.2011 um 15:17 Uhr, 6235 Aufrufe, 3 Kommentare

Hallo liebe Administratoren,

ich habe ein Problem in Power Point 2007 und leider nur sehr rudimentäre Ahnung von VBA.
Einige Präsentationen muss ich ins Englische übersetzen. Jetzt ist es sehr umständlich und zeitaufwendig die Standardsprache immer wieder manuell für jede Folie einzeln umzustellen.
Ich habe mich auch schon nach anderen Möglichkeiten als Makros umgeschaut. Diese führten allerdings allesamt nicht zum erhofften Ergebnis.
Laut Microsoft ist dieses mit Hilfe eines VBA-Makros möglich:
Support Microsoft
Wenn ich dieses Makro copy und paste und dann versuche auszuführen, dann sagt er mir:
Fehler beim Kompilieren
Syntaxfehler
und verweist auf folgende beide Zeilen (die er auch in rot makiert hat):
If shp.TextFrame.TextRange.Text = '' Then
shp.TextFrame.TextRange.Text = '[PLACEHOLDER TEXT]'

Was kann ich tun, damit dieses Makro bei mir funktioniert.

Ich bin Dankbar für alle Tipps und Ratschläge.

Beste Grüße,

Blu3Scr33n
Mitglied: Biber
11.09.2011 um 15:52 Uhr
Moin Blu3Scr33n,

eines meiner neuesten Hobbys sind die Anführungszeichen - da bin ich zumindest sensibilisiert.

Nimm doch mal probeweise statt der halben Anführungszeichen (== quotes == ') die im deutschen Schrift-Sprachraum üblichen (== double quotes == ").

E.g. streiche:
If shp.TextFrame.TextRange.Text = '' Then
shp.TextFrame.TextRange.Text = '[PLACEHOLDER TEXT]'

Setze:
If shp.TextFrame.TextRange.Text = '"" Then
shp.TextFrame.TextRange.Text = "[PLACEHOLDER TEXT]"


Grüße
Biber
Bitte warten ..
Mitglied: Blu3Scr33n
11.09.2011 um 21:17 Uhr
Hallo Biber,

danke. Ich werds morgen ausprobieren. Mal schauen, obs hilft.
Dir schonmal einen schönen Start in die Woche. Auf das der Montag nicht allzu schlimm werden wird

Grüße aus dem Rest des Wochendes,

Blu3Scr33n
Bitte warten ..
Mitglied: Blu3Scr33n
12.09.2011 um 11:58 Uhr
Hallo Biber,

danke für die Anführungszeichen. Dadurch sind schonmal die Syntaxfehler verschwunden.
Beim Ausführen des Makros gibt er mir auch die beiden Textboxen aus.
Allerdings ändert sich nur die angezeigte Standardsprache (unten links; rechts neben der Seitenanzahl)
Mein code sieht jetzt folgendermaßen aus:
01.
Sub Lingo() 
02.
    On Error Resume Next 
03.
 
04.
    ' Declare variables. 
05.
    Dim sld As Slide 
06.
    Dim shp As Shape 
07.
    Dim colShapes As New Collection 
08.
    Dim p As TextRange 
09.
    Dim r As TextRange 
10.
 
11.
    ' Loop through all the slides in the presentation. 
12.
    For Each sld In ActivePresentation.Slides 
13.
        ' Loop through each shape on each slide. 
14.
        For Each shp In sld.Shapes 
15.
            colShapes.Add shp 
16.
            CheckGroups shp, colShapes 
17.
        Next 
18.
 
19.
        For Each shp In sld.NotesPage.Shapes 
20.
            colShapes.Add shp 
21.
            If shp.HasTextFrame Then 
22.
                If shp.TextFrame.TextRange.Text = "" Then 
23.
                    shp.TextFrame.TextRange.Text = "[PLACEHOLDER TEXT]" 
24.
                End If 
25.
            End If 
26.
        Next 
27.
    Next 
28.
 
29.
    For Each shp In ActivePresentation.SlideMaster.Shapes 
30.
        colShapes.Add shp 
31.
    Next 
32.
 
33.
    For Each shp In ActivePresentation.TitleMaster.Shapes 
34.
        colShapes.Add shp 
35.
    Next 
36.
 
37.
    For Each shp In ActivePresentation.NotesMaster.Shapes 
38.
        colShapes.Add shp 
39.
    Next 
40.
 
41.
    MsgBox "There are [TOTAL]" & colShapes.Count & " shapes to be scanned." 
42.
 
43.
    For Each shp In colShapes 
44.
        If shp.TextFrame.TextRange.LanguageID = 1031 Then 
45.
            Debug.Print shp.Name 
46.
        End If 
47.
        shp.TextFrame.TextRange.LanguageID = msoLanguageIDEnglishUS 
48.
        If shp.TextFrame.TextRange.Text = "[PLACEHOLDER TEXT]" Then 
49.
            shp.TextFrame.TextRange.Text = "" 
50.
        End If 
51.
    Next 
52.
 
53.
    MsgBox "Done!" 
54.
 
55.
    ActivePresentation.DefaultLanguageID = msoLanguageIDEnglishUS 
56.
End Sub 
57.
 
58.
Sub CheckGroups(shp As Shape, colShapes As Collection) 
59.
    On Error Resume Next 
60.
 
61.
    If shp.GroupItems.Count > 0 Then 
62.
        For Each g In shp.GroupItems 
63.
            colShapes.Add g 
64.
        Next 
65.
    End If 
66.
End Sub
Die Umstellung der Standarsprache kann ich auch per Hand machen. Was ich brauche ist ein Makro, dass mir alle Textblöcke (und Texte in den Formen) auf US-English umstellt.
Im Netz habe ich auch noch einen anderen Ansatz gefunden. Der schafft es allerdings nur die normalen Textblöcke zu ändern und nicht die Texte, die in Formen eingelassen sind (Sprich: in Kreise, etc.) Dieser wirkt auf mich allerdings noch sehr unfertig.
01.
Sub Englisch() 
02.
 
03.
   ' Declare variables. 
04.
   Dim sld As Slide 
05.
   Dim shp As Shape 
06.
 
07.
   ' Loop through all the slides in the presentation. 
08.
   For Each sld In ActivePresentation.Slides 
09.
         
10.
       ' Loop through each shape on each slide. 
11.
       For Each shp In sld.Shapes 
12.
             
13.
           ' If the Shape is a text box... 
14.
           If shp.Type = msoTextBox Or msoPlaceholder Then 
15.
           If shp.HasTextFrame Then 
16.
                 
17.
               ' ...then change the language to US English. 
18.
               ' NOTE: To change the language ID to another language, 
19.
               ' change the msoLanguageID value here to a 
20.
               ' different language. 
21.
               shp.TextFrame.TextRange.LanguageID = msoLanguageIDEnglishUS 
22.
             
23.
           End If 
24.
           End If 
25.
       Next 
26.
   Next 
27.
End Sub
Ich hoffe ihr könnt mir weiterhelfen.

Grüße,

Blu3Scr33n
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
VB for Applications
gelöst VBA-Makro verschwindet nach Speichern (5)

Frage von lupi1989 zum Thema VB for Applications ...

Mac OS X
gelöst Power Point 2016 auf MacBook Pro (OS X Yosemite (V10.10.5) (4)

Frage von joeyschweiz zum Thema Mac OS X ...

Microsoft Office
gelöst CSV-Datei mit einem VBA Makro in Excel einlesen und leicht anpassen (5)

Frage von JoSiBa zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...