功能错误:函数不会在所有代码路径上返回值

时间:2013-07-06 02:46:09

标签: vb.net

我是编程新手,显然对编写函数没有太多经验。我编写了下面的函数,但是当我到达结尾时,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

结束模块

2 个答案:

答案 0 :(得分:2)

它被声明为一个返回字符串的函数。由于您已启用Option Strict,因此您需要在所有代码路径上都有一个Return语句。 Return需要返回一个字符串。

答案 1 :(得分:2)

你确实声明了一个函数,根据定义它必须返回一个值。

在VB中,您必须分配函数名称,或者从VB.Net开始,您可以使用return语句返回:

在结束函数之前刚刚提出:

    viewSheets=""

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

Difference between Private Sub, Function and Class