在本文中,我们将向您展示如何在 Word 中轻松转换摄氏度、华氏度、开尔文等温度单位。
善用 Word VBA,您可以创建很多小而有用的工具。 例如,您完全可以在 Word 中创建一个温度转换器来为您完成繁琐的转换。 因此,请继续阅读以了解更多详细信息。 
插入用户表单
要创建转换器,您必须先创建一个用户表单。
- 首先,按“Alt+F11”打开VBA编辑器。
- 接下来单击左栏中的“正常”。
- 然后单击“插入”并选择“用户窗体”。
- 单击窗体周围的手柄以调整其大小。
- 接下来按“F4”触发“属性窗口”。
- 在窗口中 将用户表单命名为“frmTemperatureConverter” 和 将其标题设置为“温度转换器”.
- 此外,将窗体的“ShowModal”属性设置为“False”。
- 然后在菜单栏上,单击“工具箱”将其调出。
- 使用工具箱上的控件创建一个标签、两个文本框、两个命令按钮和两个组合框。 按以下顺序将这些控件放在窗体上:
- 接下来为创建的控件设置特定属性:
- 首先单击文本框 1。将其命名为“txtTempValue1”。
- 然后单击文本框 2 并将其命名为“txtTempValue2”。
- 接下来单击标签并将其标题设置为“=”。
- 单击组合框 1 并将其命名为“cmbTempUnit1”。
- 然后单击组合框 2 并将其命名为“cmbTempUnit2”。
- 接下来单击命令按钮 1 并将其命名为“btnConvert”。 将标题设置为“转换”。
- 单击命令按钮 2 并将其命名为“btnClose”。 将其标题设置为“关闭”。
此外,如有必要,请设置其他属性。
控件的输入代码
- 双击“转换”按钮进入代码区。 在此处粘贴以下代码:
Private Sub btnConvert_Click()
Dim dTempValue1 As Double, dTempValue1InF As Double, dTempValue2 As Double
Dim strTempUnit1 As String, strTempUnit2 As String
strTempUnit1 = frmTemperatureConverter.cmbTempUnit1.Text
strTempUnit2 = frmTemperatureConverter.cmbTempUnit2.Text
dTempValue1 = CDbl(frmTemperatureConverter.txtTempValue1.Value)
Select Case strTempUnit1
Case "Celsius"
dTempValue1InF = dTempValue1 * 33.8
Case "Fahrenheit"
dTempValue1InF = dTempValue1
Case "Kelvin"
dTempValue1InF = dTempValue1 * -457.87
Case "Rankine"
dTempValue1InF = dTempValue1 * -458.67
Case "Delisle"
dTempValue1InF = dTempValue1 * 1.2
Case "Newton"
dTempValue1InF = dTempValue1 * 102.414
Case "Réaumur"
dTempValue1InF = dTempValue1 * 34.25
Case "Rømer"
dTempValue1InF = dTempValue1 * 3.42857143
End Select
Select Case strTempUnit2
Case "Celsius"
dTempValue2 = dTempValue1InF / 33.8
Case "Fahrenheit"
dTempValue2 = dTempValue1InF
Case "Kelvin"
dTempValue2 = dTempValue1InF / -457.87
Case "Rankine"
dTempValue2 = dTempValue1InF / -458.67
Case "Delisle"
dTempValue2 = dTempValue1InF / 1.2
Case "Newton"
dTempValue2 = dTempValue1InF / 102.414
Case "Réaumur"
dTempValue2 = dTempValue1InF / 34.25
Case "Rømer"
dTempValue2 = dTempValue1InF / 3.42857143
End Select
' Convert dTempValue2 to string
If Abs(dTempValue2 - Int(dTempValue2)) > 0.00000001 Then
frmTemperatureConverter.txtTempValue2.Value = Format(dTempValue2, "###0.00000000")
Else
frmTemperatureConverter.txtTempValue2.Value = Format(dTempValue2, "General Number")
End If
End Sub
- 接下来转到表单并双击“关闭”按钮。 输入代码:
Private Sub btnClose_Click() Unload Me End Sub
- 然后双击表格进入。 您可以在顶部看到 2 个组合框。 确保在左侧选择“UserForm”,在右侧选择“Initialize”。
- 并在那里粘贴代码。
Private Sub UserForm_Initialize()
cmbTempUnit1.List = Array("Celsius", "Fahrenheit", "Kelvin", "Rankine", "Delisle", _
"Newton", "Réaumur", "Rømer")
cmbTempUnit2.List = Array("Celsius", "Fahrenheit", "Kelvin", "Rankine", "Delisle", _
"Newton", "Réaumur", "Rømer")
End Sub
- 最后,保存所有代码。
插入模块
- 仍然在 VBA 编辑器中,单击“普通”项目下的“插入”。
- 但这次选择“模块”。
- 双击它打开并粘贴代码:
Sub TriggerTemperatureConverter() frmTemperatureConverter.Show End Sub
现在运行宏“TriggerTemperatureConverter”,您可以触发转换器。 您可以为此宏分配一个按钮。 详细步骤参考这篇文章: 如何在 Word 中使用宏和 VBA 删除粘贴文本的格式
您可以查看以下视频:
为 Word 崩溃做好准备
无论您是否经历过数据丢失,您都应该时刻做好数据灾难发生的准备。 在所有可用的有用提示中,我们强烈建议您掌握 docx恢复 工具提前。
作者简介:
Vera Chen 是一位数据恢复专家 DataNumen, Inc.,它是数据恢复技术领域的世界领先者,包括 恢复Excel 和 pdf 修复软件产品。 欲了解更多信息,请访问 datanumen.com



