Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vbscript Case语句-空值_Vbscript_Case_Isnull - Fatal编程技术网

Vbscript Case语句-空值

Vbscript Case语句-空值,vbscript,case,isnull,Vbscript,Case,Isnull,我正在使用。它提供了将代码放置在Visual Basic脚本选项卡中的机会 我有一些由Case语句驱动的形状和文本颜色。问题是,我需要将颜色默认为“白色”或“清晰”,并在Null值中保持这种状态 以下是片段: Dim strShapeName 模糊strName strShapeName=“ShapeLordosis” strName=“TextLordosis” 如果为空(值),则 Document.DocObjects(strShapeName).BackColor=vbWhite Docu

我正在使用。它提供了将代码放置在Visual Basic脚本选项卡中的机会

我有一些由
Case
语句驱动的形状和文本颜色。问题是,我需要将颜色默认为“白色”或“清晰”,并在
Null
值中保持这种状态

以下是片段:

Dim strShapeName
模糊strName
strShapeName=“ShapeLordosis”
strName=“TextLordosis”
如果为空(值),则
Document.DocObjects(strShapeName).BackColor=vbWhite
Document.DocObjects(strShapeName).ForeColor=vbWhite
Document.DocObjects(strName).BackColor=vbWhite
Document.DocObjects(strName).ForeColor=vbBlack
其他的
选择案例值
“黑色字体,青铜色填充
案例0,10,20,30,40,50,60
Document.DocObjects(strShapeName).BackColor=RGB(176,97,0)
Document.DocObjects(strShapeName).ForeColor=vbBlack
Document.DocObjects(strName).BackColor=RGB(176,97,0)
Document.DocObjects(strName).ForeColor=vbBlack
...
'带SEAFOAM绿色填充的黑色字体
案例9、19、29、39、49、59、69
Document.DocObjects(strShapeName).BackColor=RGB(45208,0)
Document.DocObjects(strShapeName).ForeColor=vbBlack
Document.DocObjects(strName).BackColor=RGB(45208,0)
Document.DocObjects(strName).ForeColor=vbBlack
'带白色填充的黑色字体
其他情况
Document.DocObjects(strShapeName).BackColor=vbWhite
Document.DocObjects(strShapeName).ForeColor=vbBlack
Document.DocObjects(strName).BackColor=vbWhite
Document.DocObjects(strName).ForeColor=vbBlack
结束选择
如果结束
在添加
If IsNull(Value)Then…
条件之前,代码将运行。当我添加条件时,代码只给出一个错误,即参数不存在。我看到了一个建议,建议使用
If Else
,但我一直无法使它发挥作用

有一个执行按钮,当我运行它时,会出现以下错误:

Microsoft VBScript运行时错误:类型不匹配:“(null)”处的“[string:]”

此外,此选项卡上还有一个“激活事件调用”复选框。然后有3个子类别,分别是:

Sub OnChangeFieldData(ByVal Variable, ByRef Value, ByRef Valid)

Sub OnBeforeShowFieldDialog(ByVal Variable, ByVal DialogID, ByVal Options, ByVal Parent, ByRef Result)

Sub OnAfterShowFieldDialog(ByVal Variable... etc)

代码似乎满足了您的需求,具体问题是什么?Omegastripes,谢谢您的回复。在添加If-Null-else之前,代码将运行。我在标签制作程序中使用它,当我添加If-then时,代码只给出一个错误,即参数不存在。听上去,根据你所说的,它“应该”运转良好。我很困惑。尝试在代码开头的某个地方添加行
MsgBox“Test”
“WScript.Echo”Test“
,至少需要找到一些方法从脚本运行时检索值以进行调试。MsgBox“Test”“是的。WScript没有。我已经了解到,我必须创建一个“公式”来检查空值,并将分配不同的值以将其放入“else”案例中。我还使用了“if(精确({Lordosis1},”),“555”,{Lordosis1})”这个词,当我回顾我在上面放置的代码时,出于某种原因,我所有的objShapeName和objName都被更改为上面的strShapeName和strName。我的最后一段代码是有效的,但现在我正试图找出如何恢复到透明的背景色和前景色。您对Omepes非常有帮助。如果您更改了代码,现在您的最终工作版本只有透明颜色,请编辑您的问题并添加更新,包括新代码以及您当前拥有和期望的准确输出描述。关于
strShapeName
strName
,我对它们进行了更改,因为
str
前缀是字符串的默认前缀。