为什么我的vba代码看到逗号为新行?

我有从文本文件中读取的代码,当行以“Q”开始时,它的一个问题,“R”和“W”分别是错误的和正确的答案,读取到形状。 然而,问题是,如果文本中有逗号,我的Powerpointmacros将其视为一条新线。 如何解决这个问题的任何帮助吗? 这是代码

Open ActivePresentation.Path & "\" & "questions.txt" For Input As #1 nextSlideNum = 1 nextAnswerNum = 1 Do Until EOF(1) Input #1, nextLine If Left$(nextLine, 1) = "Q" Then 'The line starts with Q; it's a question nextSlideNum = nextSlideNum + 1 Set oSld = _ ActivePresentation.Slides.AddSlide(nextSlideNum, _ ActivePresentation.SlideMaster.CustomLayouts(2)) oSld.Shapes(1).TextFrame.TextRange.Text = _ Trim(Right$(nextLine, Len(nextLine) - 1)) nextAnswerNum = 1 ElseIf Left$(nextLine, 1) = "R" Then 'Right answer Set oShp = ActivePresentation.Slides(nextSlideNum).Shapes _ .AddShape(msoShapeActionButtonCustom, 100, _ 120 + (85 * (nextAnswerNum - 1)), 500, 75) oShp.TextFrame.TextRange.Text = Trim(Right$(nextLine, Len(nextLine) - 1)) oShp.ActionSettings(ppMouseClick).Action = ppActionRunMacro oShp.ActionSettings(ppMouseClick).Run = "RightAnswerButton" nextAnswerNum = nextAnswerNum + 1 ElseIf Left$(nextLine, 1) = "W" Then 'Wrong answer Set oShp = ActivePresentation.Slides(nextSlideNum).Shapes _ .AddShape(msoShapeActionButtonCustom, 100, _ 120 + (85 * (nextAnswerNum - 1)), 500, 75) oShp.TextFrame.TextRange.Text = Trim(Right$(nextLine, Len(nextLine) - 1)) oShp.ActionSettings(ppMouseClick).Action = ppActionRunMacro oShp.ActionSettings(ppMouseClick).Run = "WrongAnswerButton" nextAnswerNum = nextAnswerNum + 1 ElseIf Trim(nextLine) = "" Then 'Ignore blank lines Else MsgBox _ "Sorry, I don't know what to do with: " _ & Chr$(13) & nextLine End If Loop 

使用Line Input而不是Input

Input做一些parsing,包括用逗号分隔,并转换一些值,如#TRUE#和#NULL#。 Line Inputinput完整线路,不进行转换。