เปลี่ยนภาษาการตรวจสอบการสะกดคำในงานนำเสนอ PowerPoint


42

ฉันได้รับงานนำเสนอ PowerPoint พร้อมสไลด์หลายสิบชุดแต่ละชุดมีกล่องข้อความจำนวนหนึ่ง แม้ว่างานนำเสนอจะเขียนเป็นภาษาอังกฤษ แต่ภาษาสำหรับการตรวจสอบการสะกดถูกกำหนดเป็นภาษาฝรั่งเศสแคนาดา ฉันกำลังพยายามเปลี่ยนภาษาเป็นภาษาอังกฤษ แต่แม้ว่าฉันจะเลือกสไลด์ทั้งหมดและเลือกองค์ประกอบใหม่ในกล่องโต้ตอบภาษาภาษาของกล่องข้อความก็ยังคงเหมือนเดิม ดังนั้นฉันจึงต้องเลื่อนไปตามสไลด์โดยเลือกกล่องข้อความจากนั้นเปลี่ยนภาษาเป็นรายบุคคล

มีวิธีที่ดีกว่าในการทำเช่นนี้?

เวอร์ชันของ PowerPoint ที่ฉันติดตั้งคือ 2002 SP3


ดูเหมือนจะไม่สามารถเพิ่มคำตอบ (แม้จะมีตัวแทนเพียงพอ) สำหรับผู้ใช้งาน Mac นั้น: macscripter.net/viewtopic.php?id=38622มีแอปเปิ้ลสคริปต์ที่น่าทึ่งที่สามารถปรับเปลี่ยนได้สำหรับการใช้งานหลายอย่าง
Etienne Low-Décarie

นี่คือส่วนสำคัญของ applescript ที่กล่าวถึงข้างต้น: gist.github.com/4440395
Etienne Low-Décarie

คำตอบ:


34

ฉันรู้คำตอบที่ได้รับการยอมรับแล้ว (ซึ่งฉันให้ +1 เพราะมันทำงานและเขียนได้ดี) แต่สำหรับบางคนความคิดในการสร้างการบันทึกการใช้มาโครอาจน่ากลัวเกินไป (หรืออาจมีการตั้งค่าความปลอดภัยใน สถานที่ที่ทำให้ยากต่อการบรรลุนี้) ดังนั้นวิธีแก้ปัญหาที่ง่ายกว่าคือการใช้ฟังก์ชันการทำงานปกติในตัวเพื่อทำสิ่งนี้ เคล็ดลับคือการเลือกวัตถุทั้งหมดบนสไลด์ทั้งหมดในครั้งเดียวแทนที่จะเป็นสไลด์ตัวเองและสามารถทำได้อย่างง่ายดายในมุมมองโครงร่าง (น่าเศร้าเป็นคุณลักษณะที่ใช้น้อย แต่เหมาะสำหรับจัดระเบียบสไลด์เดสก์ใหม่ส่งเสริมและลดระดับ ชิ้นส่วนทั้งหมดเช่นกระสุน> สไลด์ใหม่หรือในทางกลับกัน)

ฉันไม่มี PowerPoint 2002 ("XP") ดังนั้นฉันไม่แน่ใจว่าคุณต้องทำตามคำแนะนำสำหรับปี 2000 หรือปี 2003 หรือไม่ดังนั้นฉันจึงครอบคลุมทั้งสองที่นี่:

  • ใน PP 2000 : ไปที่มุมมองเค้าร่างซึ่งเป็นไอคอนที่สองจากด้านซ้ายที่ด้านล่างซ้ายของหน้าจอ (ดูเหมือนกับบรรทัดที่มีการเยื้อง)
  • ใน PP 2003 เป็นต้นไป : ไปที่มุมมอง "ปกติ" (รูปแบบบานหน้าต่างสามบาน) และที่ด้านบนสุดของตัวเลื่อนสไลด์เลือก "เค้าร่าง" แทนที่จะเป็น "สไลด์"

ในรุ่นเก่าให้แน่ใจว่าคุณมีเค้าร่างแถบเครื่องมือที่มองเห็นได้ ( View> Toolbars> Outlining) และคลิกที่Expand allปุ่ม (รุ่นที่ใหม่กว่าให้คุณได้รับนี้ผ่านการคลิกขวา)

  • Ctrl-A เพื่อเลือกทั้งหมด
  • Tools>> Languageเลือกภาษาของคุณเพื่อตั้งค่า
  • (จาก Powerpoint 2013) REVIEW> Language> ชุดพิสูจน์อักษรภาษา

งานเสร็จแล้ว

ในขณะที่คุณมีทุกอย่างที่เลือกคุณสามารถเปลี่ยนสิ่งอื่น ๆ เช่นแบบอักษรสีและอื่น ๆ แม้ว่าในกรณีส่วนใหญ่จะทำได้ดีกว่าโดยเปลี่ยนต้นแบบภาพนิ่งการนำเสนอที่มีบรรณาธิการจำนวนมากอาจมีชุดรูปแบบ 'ยาก' มากมาย เบี่ยงเบนจากต้นแบบต้นแบบและต้องการรีเซ็ตให้สอดคล้องกัน นอกจากนี้คุณยังสามารถรีเซ็ตแต่ละสไลด์เป็นสไตล์หลัก แต่อาจส่งผลให้ตัวยึดตำแหน่งเคลื่อนไหวได้เช่นกันซึ่งอาจไม่เป็นที่ต้องการในบางสถานการณ์


เพียงแค่บันทึกย่อ: อาจทำให้ประโยคต่อไปนี้เป็นตัวหนาเพื่อให้วิธีการแก้ปัญหานั้นชัดเจนในทันที: 'เคล็ดลับคือการสามารถเลือกวัตถุทั้งหมดบนสไลด์ทั้งหมดในครั้งเดียวแทนที่จะเป็นสไลด์เองและนี่ก็ทำได้อย่างง่ายดาย ในมุมมองโครงร่าง '
Rabarberski

2
ขอบคุณ AdamV คำตอบยอดเยี่ยม! อย่างไรก็ตามปัญหาเกี่ยวกับวิธีการนี้ขึ้นอยู่กับวิธีการเพิ่มกล่องข้อความลงในสไลด์ซึ่งอาจไม่แสดงในมุมมองเค้าร่าง ซึ่งเป็นเรื่องที่ค่อนข้างสวยสำหรับเกือบทุกวัตถุในงานนำเสนอที่ฉันต้องแก้ไข
Leonardo

ใช่ฉันเดาว่าผู้คนจะเพิ่มกล่องข้อความอิสระจำนวนมากคุณต้องเลือกวิธีเหล่านี้โดยใช้วิธีการเช่นแมโครต้นฉบับที่โพสต์
AdamV

สำหรับฉันมันใช้งานได้เฉพาะกับข้อความที่มีอยู่ใน PowerPoint 2010 สำหรับข้อความที่เพิ่มใหม่ภาษาจะยังคงเปลี่ยนแปลงในบางกรณี
ปีเตอร์

นี่เป็นวิธีที่สะอาดที่สุดในการจัดการกับสิ่งนี้ มันทำงานได้ในปี 2013 รุ่นเกินไป
GoTTimw

18

กระทู้นี้มีคำตอบที่เหมาะกับฉัน

ขั้นตอนที่ฉันติดตามคือ:

  1. สร้างแมโครใหม่:
    1.1 ไปที่เครื่องมือแมโครตัวแก้ไข Visual Basic
    1.2 แทรกโมดูลว่างใหม่โดยเลือกแทรกโมดูล
  2. วางรหัสนี้บนแผงด้านขวาและบันทึกแมโคร:

    Option Explicit  
    Public Sub ChangeSpellCheckingLanguage()  
        Dim j As Integer, k As Integer, scount As Integer, fcount As Integer
        scount = ActivePresentation.Slides.Count
        For j = 1 To scount
            fcount = ActivePresentation.Slides(j).Shapes.Count
            For k = 1 To fcount
                If ActivePresentation.Slides(j).Shapes(k).HasTextFrame Then
                    ActivePresentation.Slides(j).Shapes(k) _
                    .TextFrame.TextRange.LanguageID = msoLanguageIDEnglishAUS
                End If
            Next k
        Next j
    End Sub
    

    msoLanguageIDEnglishAUSสามารถถูกแทนที่ด้วยภาษาที่ต้องการ รายการเต็มรูปแบบของภาษาที่สามารถพบได้ที่นี่

  3. เรียกใช้งานแมโคร (โดยการกด F5 ภายในตัวแก้ไขหรือโดยเลือกเครื่องมือ, มาโคร, มาโคร, ChangeSpellCheckingLanguage และคลิกเรียกใช้)

หลังจากนั้นองค์ประกอบข้อความทั้งหมดในงานนำเสนอจะมีภาษาการสะกดคำใหม่


1
รหัสนี้จะไม่ส่งผลกระทบต่อShapes ในกลุ่ม รหัสทั่วไปเพิ่มเติมถูกโพสต์ในsuperuser.com/a/1119420/245595
sancho.s

3

หลังจากการนำเสนอมากมายที่ฉันทำด้วยมือหรือใช้มาโครแบบครั้งเดียวในที่สุดฉันก็พังและทำให้มันกลายเป็น PowerPoint Add-In ที่เหมาะสม

ฉันได้อัปโหลดไปยังเว็บไซต์ของฉัน: PowerPoint LanguageFixer

มันดูแล:

  • การตั้งค่าภาษาเริ่มต้น
  • รูปร่างทั้งหมดที่มีกรอบข้อความ
  • กรอบข้อความในรูปร่างที่จัดกลุ่ม (เท่าที่จะทำได้)
  • ข้อความในตาราง
  • เนื้อหาบนสไลด์ / note / handout master

เพียงตั้งค่าหนึ่งในกล่องข้อความเป็นภาษาที่คุณต้องการเลือกและคลิกปุ่ม


1

นี่คือสองตัวเลือกขึ้นอยู่กับสถานการณ์ของคุณ:


สถานการณ์ที่ 1: สำเนา Office ต้นทางได้รับการติดตั้งจากสื่อการติดตั้งที่ใช้ภาษาฝรั่งเศสแคนาดา

คุณจะสามารถตั้งค่าภาษาเริ่มต้นเป็นภาษาอังกฤษ แต่ฟังก์ชันหลักจะใช้ภาษาดั้งเดิมของสื่อการติดตั้ง

การแก้ไขเพียงอย่างเดียวคือการถอนการติดตั้งเวอร์ชันภาษาฝรั่งเศสของแคนาดาและติดตั้งจากสื่อการติดตั้งที่ใช้ภาษาอังกฤษหรือคัดลอก / วางงานนำเสนอทั้งหมดไปยังเอกสารใหม่และฟอร์แมตใหม่

.


สถานการณ์ที่ 2: ทุกอย่างดูเหมือนจะเป็นภาษาอังกฤษ แต่ในสถานการณ์ที่ จำกัด ภาษาต่างประเทศปรากฏ

ในสถานการณ์นี้นี่คือคำแนะนำการซ่อมสำหรับ Office 2002:

  1. คลิกเมนูเริ่ม
  2. ชี้ไปที่โปรแกรม
  3. ชี้ไปที่เครื่องมือ Microsoft Office
  4. คลิกการตั้งค่าภาษาของ Microsoft Office XP
  5. คลิกแท็บภาษาที่เปิดใช้งาน
  6. ไปที่กล่อง Microsoft Office รุ่นเริ่มต้น
  7. เลือกภาษาที่คุณต้องการ
  8. คลิกตกลง ข้อความจะปรากฏขึ้นเพื่อบอกคุณว่าจะมีการเปลี่ยนแปลงอะไรบ้าง
  9. คลิกดำเนินการต่อ

ฉันหวังว่านี่จะช่วยได้.


ขอบคุณสำหรับคำตอบ! แม้ว่าจะไม่ใช่สถานการณ์เหล่านั้นก็ตาม สิ่งที่เกิดขึ้นคือกล่องข้อความทุกกล่องสามารถตั้งค่าเป็นภาษาที่แตกต่างกันสำหรับการตรวจสอบการสะกดและในสถานการณ์นี้องค์ประกอบทั้งหมดมีภาษาที่ไม่ถูกต้อง ภาษาเริ่มต้นในระบบ (และในการติดตั้งสำนักงาน) เป็นภาษาอังกฤษ
Leonardo

0

ฉันมีปัญหาเดียวกันกับการนำเสนอที่ทำด้วย PowerPoint ของเยอรมันและการแปลเป็นภาษาอังกฤษด้วยตนเอง ปัญหาคือว่าการตั้งค่าภาษาเป็นรูปแบบที่ใช้กับองค์ประกอบกล่องข้อความแต่ละองค์ประกอบด้วยตนเอง

ฉันไม่ได้ตระหนักถึงวิธีการแก้ปัญหาที่สะดวกใด ๆ - ฉันต้องมีชีวิตอยู่กับไม่ตรงกันหรือเปลี่ยนภาษา "รูปแบบ" ของกล่องข้อความของแต่ละบุคคลในแต่ละสไลด์ด้วยตนเอง ไม่สนุกดังนั้นส่วนใหญ่ฉันอาศัยอยู่กับมัน


0

รหัสที่โพสต์โดย Leonardoนั้นเรียบง่ายและมีประสิทธิภาพโดยทั่วไป แต่จะไม่ส่งผลกระทบต่อShapeกลุ่ม รหัสทั่วไปมากขึ้นใช้การเรียกซ้ำเพื่อจัดการกับกรณีนั้นด้วย (เปลี่ยนจากที่นี่เล็กน้อยซึ่งอยู่ในเธรดเดียวกับรหัสโดย Leonardo):

Private Function ChangeLangOfAllText_caller()
    'ChangeLangOfAllText (msoLanguageIDEnglishUS)
    ChangeLangOfAllText (msoLanguageIDSpanishArgentina)
End Function

Private Function ChangeLangOfAllText(ByVal LangID As Long)
    Dim MySlide As Slide
    Dim MyShape As Shape
    Dim MyD As Design
    Dim MyHeaderFooter As HeaderFooter
    Dim i, nbs As Integer
    ''''' First deal with the master slides
    For Each MyD In ActivePresentation.Designs
        For Each MyShape In MyD.SlideMaster.Shapes
            ProcessShapes MyShape, LangID
        Next MyShape
    Next MyD
    ''''' Now deal with the slides
    ' Enable this for debugging
    'Debug.Print "File " & ActivePresentation.Name & _
      ": working with " & ActivePresentation.Slides.Count & " slides"
    For Each MySlide In ActivePresentation.Slides
        ' Enable this for debugging
        'Debug.Print " Slide index " & MySlide.SlideIndex & ", Slide number " & MySlide.SlideNumber & _
          ": working with " & MySlide.Shapes.Count & " shapes"
        For Each MyShape In MySlide.Shapes
            ProcessShapes MyShape, LangID
        Next MyShape
        ''''' Now deal with the Notes
        For Each MyShape In MySlide.NotesPage.Shapes
            ProcessShapes MyShape, LangID
        Next MyShape
        ''''' Now deal with the master ' doesn't appear to work, have to try something else
        For Each MyShape In MySlide.Master.Shapes
            ProcessShapes MyShape, LangID
        Next MyShape
    Next MySlide
End Function

Private Function ProcessShapes(MyShape As Shape, ByVal LangID As Long)
    Dim i As Integer
    If ((MyShape.Type = msoGroup) Or (MyShape.Type = msoTable)) Then
        On Error Resume Next
        For i = 1 To MyShape.GroupItems.Count
            ''' The trick is to recurse!
            ProcessShapes MyShape.GroupItems.Item(i), LangID
        Next i
    Else
        ChangeLang MyShape, LangID
    End If
End Function

Private Function ChangeLang(MyShape As Shape, ByVal LangID As Long)
    Dim i As Integer
    If (MyShape.HasTextFrame) Then
        ' Enable this for debugging
        'Debug.Print " Shape " & MyShape.ZOrderPosition & ", type: " & MyShape.Type & _
          ", has text frame: " & MyShape.HasTextFrame & ", has text: " & MyShape.TextFrame.HasText & _
          ", alt. text: " & MyShape.AlternativeText
        MyShape.TextFrame.TextRange.LanguageID = LangID
    End If
End Function
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.