Я использую VBA в Word 2013 для оценки и возврата некоторой базовой информации, которую конечный пользователь будет вводить в документе в некоторых старых формах. Мой код, который работает хорошо, если у меня есть все это в одной подлодке, является:Сохранение/вызов переменных VBA в Word 2013
Option Explicit
Sub ScoreLevel()
Dim a As Integer
Dim b As Integer
Dim Score as Integer
Dim Level as String
If ActiveDocument.FormFields("Text37").Result < "33" Then
a = 2
Else
a = 0
End If
If ActiveDocument.FormFields("Text40").Result = "0" Then
b = 0
ElseIf ActiveDocument.FormFields("Text40").Result = "1" Then
b = 1
ElseIf ActiveDocument.FormFields("Text40").Result > "1" Then
b = 2
Else
b = 0
End If
Score = a + b
Select Case Score
Case 0 To 1
Level = "Low"
Case 2 To 3
Level = "Moderate"
Case Is > 3
Level = "High"
End Select
MsgBox "Score = " & Score & vbNewLine & "Level: " & Level
End Sub
Теперь я пытаюсь отделить переменные и б переменных подпрограмм в свои собственные (индивидуальных) подразделах подпрограммы, но переменные не исчезли. Любая помощь, как это сделать?
Спасибо ... Мне нравится последний вариант намного лучше, и он отлично работает! Это немного чище, и мне не нужно редактировать мой существующий код. Есть ли недостатки в использовании его по первому варианту? – Mark
В меньшем решении на самом деле нет, но если вы планируете его расширить, он может стать беспорядочным, например. 10 публичных варсов с богом знают, где задания – KKowalczyk