0

私はプログラミングが初めてで、明らかに関数を書く経験があまりありません。以下の関数を書きましたが、最後に到達すると、End Function ステートメントにエラーがあります。関数 "viewSheets" は、すべてのコード パスで値を返しません。

問題を調査しましたが、役に立ちませんでした。関数での私の最初の試みは次のとおりです。

Option Strict On
Option Explicit On

Imports Microsoft.Office.Interop.Excel
Imports System.Windows.Forms
Module sheetView

Function viewSheets(sheetName As String, status As Boolean, show As String) As String

    Dim ThisApplication As Excel.Application = New Excel.Application()
    Dim WB As Excel._Workbook
    Dim WS As Excel.Worksheet

    WB = CType(Globals.ThisWorkbook.Application.ActiveWorkbook, Excel.Workbook)
    WS = DirectCast(WB.Sheets("sheetName"), Excel.Worksheet)

    With ThisApplication

        .ScreenUpdating = False

        WS.Select()

        .ActiveWindow.DisplayGridlines = status
        .ActiveWindow.DisplayHeadings = status
        .ActiveWindow.DisplayWorkbookTabs = status
        .DisplayFormulaBar = status
        .DisplayStatusBar = status
        .ExecuteExcel4Macro("Show.ToolBar(""Ribbon"", show )")


        .ScreenUpdating = True


    End With

End Function

エンドモジュール

4

2 に答える 2

2

文字列を返す関数として宣言されています。Option Strict がオンになっているため、すべてのコード パスに Return ステートメントが必要です。Return は文字列を返す必要があります。

于 2013-07-06T02:53:10.330 に答える
2

定義により値を返す必要がある関数を宣言しました。

VB では関数名を割り当てる必要があります。VB.Net 以降では、return ステートメントを使用して返すことができます。

End 関数の前に次のように入力します。

    viewSheets=""

VB の関数とサブ ルーチンの詳細を読む必要があります。

プライベート サブ、関数、クラスの違い

于 2013-07-06T02:55:48.287 に答える