Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.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
Vb.net 将函数布尔值var设置为False或True_Vb.net - Fatal编程技术网

Vb.net 将函数布尔值var设置为False或True

Vb.net 将函数布尔值var设置为False或True,vb.net,Vb.net,我有下面的函数,它假设将下面项目的属性设置为True或False。除此之外,我可以在所有属性上执行此操作: .Application.ExecuteExcel4Macro("Show.ToolBar(""Ribbon"", False)") 当我尝试用参数boolStatus替换False并运行该函数时,它不会改变。所以我放弃了,只是把它设为False,但我真的需要从False改为True,反之亦然,否则我的函数只工作了一半。现在,我必须创建第二个函数,在这个函数中,我将把行设置为True,我

我有下面的函数,它假设将下面项目的属性设置为True或False。除此之外,我可以在所有属性上执行此操作:

.Application.ExecuteExcel4Macro("Show.ToolBar(""Ribbon"", False)")
当我尝试用参数boolStatus替换False并运行该函数时,它不会改变。所以我放弃了,只是把它设为False,但我真的需要从False改为True,反之亦然,否则我的函数只工作了一半。现在,我必须创建第二个函数,在这个函数中,我将把行设置为True,我非常确定这是双重工作

Module sheetView

    Public xlWB As Excel.Workbook = CType(Globals.ThisWorkbook.Application.ActiveWorkbook, Excel.Workbook)
    Public xlWS As Excel.Worksheet = CType(xlWB.ActiveSheet, Excel.Worksheet)

        Function ViewSheets(boolStatus As Boolean) As String

        'This function selects a dashboard and hides
        'the gridlines, headings, tabs and toolbar.

        '@parameter sheetName, calls the sheet to be selected
        '@parameter status, sets the objects to view or hide


        With xlWS

            .Application.ScreenUpdating = False

            'Disable the following controls
            .Application.ActiveWindow.DisplayGridlines = boolStatus
            .Application.ActiveWindow.DisplayHeadings = boolStatus
            .Application.ActiveWindow.DisplayWorkbookTabs = boolStatus
            .Application.DisplayFormulaBar = boolStatus
            .Application.DisplayStatusBar = boolStatus
            .Application.ExecuteExcel4Macro("Show.ToolBar(""Ribbon"", False)")


            .Application.ScreenUpdating = True

        End With


        Return ""

    End Function

End Module

这句话我做错了什么?

你可以尝试以下方法:

.Application.ExecuteExcel4Macro("Show.ToolBar(""Ribbon"", " + boolStatus.ToString() +")")
或者类似的东西

请检查此代码以了解准确的VB.Net语法


您可以尝试以下方法:

.Application.ExecuteExcel4Macro("Show.ToolBar(""Ribbon"", " + boolStatus.ToString() +")")
或者类似的东西

请检查此代码以了解准确的VB.Net语法


我认为问题在于您将字符串传递给宏函数,因此需要将boolStatus与字符串连接起来,如下所示:

.Application.ExecuteExcel4Macro("Show.ToolBar(""Ribbon"", " + boolStatus.ToString() + ")")
您以前的代码可能是将变量名添加到字符串中,因此出现了问题。例如,如果您以前的代码是:

.Application.ExecuteExcel4Macro("Show.ToolBar(""Ribbon"", boolStatus)")
传递给
ExecuteExcel4Macro
的参数类似于Show.ToolBar(“Ribbon”,boolStatus)

使用上面的第一个代码段,它看起来像:

Show.ToolBar("Ribbon", False)

我认为问题在于您将字符串传递给宏函数,因此需要将boolStatus与字符串连接起来,如下所示:

.Application.ExecuteExcel4Macro("Show.ToolBar(""Ribbon"", " + boolStatus.ToString() + ")")
您以前的代码可能是将变量名添加到字符串中,因此出现了问题。例如,如果您以前的代码是:

.Application.ExecuteExcel4Macro("Show.ToolBar(""Ribbon"", boolStatus)")
传递给
ExecuteExcel4Macro
的参数类似于Show.ToolBar(“Ribbon”,boolStatus)

使用上面的第一个代码段,它看起来像:

Show.ToolBar("Ribbon", False)

可能类似于
.Application.ExecuteExcel4Macro(“Show.ToolBar”(“Ribbon”(“+boolStatus+”))
?可能类似于
.Application.ExecuteExcel4Macro”(“Show.ToolBar”(“Ribbon”(“Ribbon”)“+boolStatus+”)
?与我的想法相同。语法看起来是正确的-虽然
&
可能会起作用(或者甚至可能是必需的-VB.NET有时会让我感到困惑)。我也在想同样的事情。语法看起来是正确的-虽然
&
可能会工作(或者甚至可能是需要的-VB.NET有时会让我感到困惑)。感谢您的解释。我想不出这个问题。我试过你的解决方案,效果很好。谢谢你的解释。我想不出这个问题。我试过你的解决方案,效果很好。