1

以下の項目のプロパティをTrueまたはFalseに設定すると思われる以下の関数があります。これを除くすべてのプロパティでそれを行うことができます:

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

False をパラメーター boolStatus に置き換えようとして、関数を実行しても変化しません。だから私はあきらめてFalseのままにしましたが、FalseからTrueに、またはその逆に変更する必要がありました。そうしないと、機能が半分しか機能しません。現状では、行を True に設定する 2 番目の関数を作成する必要があります。これは二重の作業であると確信しています。

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

その行で何が間違っていますか?

4

2 に答える 2

3

次のことを試してみてください。

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

または似たようなもの

正確な VB.Net 構文については、このコードを確認してください

于 2013-08-15T02:55:24.017 に答える
2

問題は、文字列をマクロ関数に渡していることだと思うので、次のように boolStatus を文字列と連結する必要があります。

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

以前のコードはおそらく変数名を文字列に追加していたため、問題が発生しました。たとえば、以前のコードが次の場合:

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

に渡される引数は、ExecuteExcel4MacroShow.ToolBar("Ribbon", boolStatus) のようになります。

上記の最初のコード スニペットを使用すると、次のようになります。

Show.ToolBar("Ribbon", False)
于 2013-08-15T02:59:51.097 に答える