将布尔值设置为False或True

时间:2013-08-15 02:52:41

标签: vb.net

我有下面的函数,假设将下面项目的属性设置为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

我在这条线上做错了什么?

2 个答案:

答案 0 :(得分:3)

您可以尝试以下方法:

.Application.ExecuteExcel4Macro("Show.ToolBar(""Ribbon"", " + boolStatus.ToString() +")")

或类似的东西

  

请检查此代码以获取准确的VB.Net语法

答案 1 :(得分:2)

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

.Application.ExecuteExcel4Macro("Show.ToolBar(""Ribbon"", " + boolStatus.ToString() + ")")

您之前的代码可能是将变量名添加到字符串中,因此问题就出现了。例如,如果您之前的代码是:

.Application.ExecuteExcel4Macro("Show.ToolBar(""Ribbon"", boolStatus)")

传递给ExecuteExcel4Macro的参数看起来像Show.ToolBar(“Ribbon”,boolStatus)。

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

Show.ToolBar("Ribbon", False)