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 语句返回:

在结束函数之前放:

    viewSheets=""

您应该阅读更多关于 VB 中的函数和子例程的信息。

Private Sub、Function 和 Class 的区别

于 2013-07-06T02:55:48.287 回答