2015-11-07 168 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

我会试一试。谢谢你的帮助! –