Vì vậy, tôi đã có macro này về cơ bản sẽ quét từng trang chiếu trong PowerPoint và đặt ngôn ngữ được chỉ định. Hoạt động tuyệt vời. Howerver, nó bỏ qua các thùng chứa không phải là các hộp văn bản. Tôi muốn nó áp dụng ngôn ngữ trên bảng, smartart, biểu đồ, vv Về cơ bản bất cứ điều gì có thể chứa văn bản.PowerPoint 2007 - Đặt ngôn ngữ trên bảng, biểu đồ, v.v. có chứa văn bản
Điều này có thể thực hiện được không? Đây là mã hiện tại:
Public Sub changeLanguage()
On Error Resume Next
'lang = "English"
lang = "Norwegian"
'Determine language selected
If lang = "English" Then
lang = msoLanguageIDEnglishUK
ElseIf lang = "Norwegian" Then
lang = msoLanguageIDNorwegianBokmol
End If
'Set default language in application
ActivePresentation.DefaultLanguageID = lang
'Set language in each textbox in each slide
For Each oSlide In ActivePresentation.Slides
Dim oShape As Shape
For Each oShape In oSlide.Shapes
oShape.Select
oShape.TextFrame.TextRange.LanguageID = lang
Next
Next
End Sub
Nó hoạt động khá tốt! Nhưng nó dường như không kiểm tra SmartArt. Điều này có thể không? Microsoft nên đã bao gồm ghi macro trong phiên bản 2007 vì vậy tôi có thể ghi lại cách nhấp vào một đối tượng SmartArt, tìm ra loại nó thực sự là. –
Nó kiểm tra SmartArt bên cạnh tôi, nhưng tôi đã thử nghiệm trên PowerPoint 2010. Ngay cả trong năm 2007 mặc dù SmartArt được coi là 'oShape.GroupItems'. Nếu bạn thử kiểm tra nó trên một tầng khác với SmartArt bạn có nhận được kết quả tương tự không? –
@Kenny Bones: Bạn có thể thử điều này với một tầng khác không? –