You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VBA新手求助:InputBox内容无法正确插入Word,输出变量名而非实际值

问题分析与修复

你的代码存在两个关键错误:

错误1:变量名拼写不匹配

你声明的名字变量是strFirst、姓氏变量是strLast,但拼接完整姓名时错误使用了未声明的strFirstName和strLastName,这会导致strFull无法正确获取输入的姓名内容。

错误2:错误地将变量名作为字符串赋值

你给段落文本赋值时写了"strFull",这是把**字符串字面量"strFull"**赋值给文本,而非引用变量strFull的实际值。VBA中,引号包裹的内容会被当作纯文本处理,不会解析为变量。


修正后的完整代码

Public Sub Insert_Name_Into_Word()
'将wd设置为Word的对象变量,指向Word.Application'
Dim wd As Word.Application
'将doc设置为对象变量,指向Word.Document'
Dim doc As Word.Document
'将para设置为对象变量,指向Word.Paragraph'
Dim para As Word.Paragraph
'声明strFirst、strLast、strFull为字符串类型变量'
Dim strFirst As String, strLast As String, strFull As String

'创建新的Word应用程序实例'
Set wd = New Word.Application
'在新Word窗口中创建新文档'
Set doc = wd.Documents.Add
'使新的Word应用程序可见'
wd.Visible = True

'通过InputBox获取名字并赋值给strFirst'
strFirst = InputBox(prompt:="输入你的名字:", Title:="名字")
'通过InputBox获取姓氏并赋值给strLast'
strLast = InputBox(prompt:="输入你的姓氏:", Title:="姓氏")
'修正变量名,将名字与姓氏拼接为完整姓名赋值给strFull'
strFull = strFirst & " " & strLast
'在文档中添加新段落'
Set para = doc.Paragraphs.Add
'去掉引号,引用变量strFull的值'
para.Range.Text = strFull
End Sub

内容的提问来源于stack exchange,提问作者Ron

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 00:45:59