2015-11-07 166 views
0

我已經創建了一個多選題測試(使用VBA)與訓練模塊配合使用。兩者都是在PowerPoint 2013中創建的。在測試結束時,會有一個頁面打印出結果以及參加測試的學生給出的答案。我遇到的問題是:我需要以某種方式區分來自正確答案的錯誤答案。我想將結果頁面上顯示的不正確答案的字體設爲粗體,並且我無法弄清楚如何做到這一點。我絕對不會流利使用VBA,而且我所做的大部分工作都是通過互聯網上的搜索找到的。下面是VBA的「錯誤答案」部分,我有:Powerpoint VBA粗體字體

Sub WrongAnswer() 

    Dim thisQuestionNum As Long 

    thisQuestionNum = _ 
     ActivePresentation.SlideShowWindow.View.Slide.SlideIndex - 1 
    If qAnswered(thisQuestionNum) = False Then 
     numIncorrect = numIncorrect + 1 
    End If 
    qAnswered(thisQuestionNum) = True 
    MsgBox "Incorrect. " 
    ActivePresentation.SlideShowWindow.View.Next 
End Sub 

基本上它做什麼,就是告訴學生,他們在點擊的按鈕是否是正確或不正確的,然後存儲答案和數量正確/錯誤的可打印幻燈片。我是否需要創建一個全新的子部分以使字體顯示爲粗體?或者我可以將它添加到我的錯誤答案部分?我需要什麼代碼才能使其工作?

+0

你想要什麼文字大膽?從你的例子中不清楚。假設你有一個包含文本的形狀的引用,那麼oShape.TextFrame.TextRange.Font.Bold = True就可以做到。 –

+0

@Steve Rindsberg - 上面的例子是我用來計算正確或不正確的答案(我也有一個正確的答案)。它還彈出一個消息框,表示正確或不正確。所有答案(正確或不正確)都會保存並顯示在可打印幻燈片上。我想做出錯誤的答案,學生選擇在可打印的幻燈片上顯示爲粗體。謝謝! –

+0

好的;向我們展示您用於創建可打印幻燈片並向其添加文本的代碼。或者你不知道該怎麼做? –

回答

0

已經引用了第一列文本的相關部分;同樣的更改將應用​​到第二列,以及:

昏暗ORNG爲TextRange的

For i = 1 To 24 

' Instead of this: 
    printableSlide.Shapes(2).TextFrame.TextRange.Text = _ printableSlide.Shapes(2).TextFrame.TextRange.Text & _ "Question " & i & ": " & answer(i) & Chr$(13) 

' Do this: 
' This just adds the answer, to keep it simple to understand for now. 
' You can add the "Question: " stuff later: 
Set oRng = printableSlide.Shapes(2).TextFrame.TextRange.InsertAfter (vbcrlf & answer(1)) 
With oRng 
    .Font.Size = 9 
    .Font.Bold = True 
    ' etc 
End with 
Next i 

printableSlide.Shapes(2).TextFrame.TextRange.Font.Size = 9 
+0

我會試一試。謝謝你的幫助! –