大侠,我最近在用excel控件做统计,方法是这样的通过一个WEBBROWSER将excel控件嵌入到界面当中,当我不想使excel文件被人编辑,于是就通过excel菜单中的 “工具”栏 - “保护”-"保护工作表"-“确定”即可在excel文档中实现,但我想通过编程的方式实现以上步骤,也就是此excel控件的该属性,有没有谁做过这方面的。谢谢,另,能否帮忙告之如何将webbrowser页面上的excel数据打印出来。。小弟在此多谢了

解决方案 »

  1.   

    你在项目里面引用Excel后用查看器打开那个动态链接库就能看所有属性和方法
      

  2.   

    在可以对 Microsoft Office Excel 2003 中的任何范围执行操作前,必须将其表示为 Range 对象并使用此 Range 的方法和属性。Range 对象表示以下内容:单元格、行、列、包含一个或多个单元格块的单元格集合,甚至还可以表示多个工作表上的一组单元格。本主题讨论 Range 对象的两个方面: 常用方法 
    常见任务 
    常用方法
    Range 对象的一些常用方法有: AutoFill 
    Find 
    Sort 
    AutoFill
    AutoFill 方法使您可以用值自动填充范围。通常使用 AutoFill 方法向一个范围中存储递增或递减的值。可以通过提供 XlAutoFillType 枚举中的可选常数来指定行为: xlFillDays 
    xlFillFormats 
    xlFillSeries 
    xlFillWeekdays 
    xlGrowthTrend 
    xlFillCopy 
    xlFillDefault 
    xlFillMonths 
    xlFillValues 
    xlFillYears 
    xlLinearTrend 
    如果不指定填充类型,Excel 将使用默认的填充类型 xlFillDefault。Find
    Find 方法使您可以在范围中搜索文本。此方法模仿 Excel 中“查找和替换”对话框的行为。此方法使用您向其传递的参数,如果您不传递参数,则使用“查找和替换”对话框中的值。Find 方法的参数包括:参数 类型 说明 
    What(必需) Object 要查找的数据;可以是一个字符串或任何 Excel 数据类型。 
    After Range 要在其后的位置开始搜索的范围(搜索中不包含此单元格);如果不指定此单元格,搜索将从范围的左上角开始。 
    LookIn XlFindLookin(xlValue、xlComments、xlFormulas) 要搜索的信息的类型;不能使用 Or 运算符进行组合。 
    LookAt XlLookAt(xlWhole、xlPart) 指定搜索匹配整个单元格还是部分单元格。 
    SearchOrder XlSearchOrder(xlByRows、xlByColumns) 确定搜索顺序;xlByRows(默认值)指定逐行搜索,而 xlByColumns 指定逐列搜索。 
    SearchDirection XlSearchDirection(xlNext、xlPrevious) 指定搜索方向。 
    MatchCase Boolean 指定搜索是否区分大小写。 
    MatchByte Boolean 指定双字节字符仅匹配双字节字符 (True) 还是可匹配相应的单字节字符 (False);仅在支持双字节的情况下适用。 Sort
    正如可以从用户界面在范围中对数据排序一样,您可以使用 Range.Sort 方法以编程方式对数据进行排序。您需要指定要排序的范围,可以选择指定作为排序方式的行或列(最多三行或三列)以及一些其他可选参数。Sort 方法的参数包括:参数 类型 说明 
    Key1 Object(String 或 Range) 第一排序字段,是一个范围名(字符串)或 Range 对象;指定要排序的值。 
    Order1 XlSortOrder(xlAscending、xlDescending) 确定在 Key1 中指定的值的排序顺序。 
    Key2 Object(String 或 Range) 第二排序字段;不适用于数据透视表排序。 
    Type Object 指定对数据透视表进行排序时对哪些元素进行排序;对正常范围没有影响。 
    Order2 XlSortOrder 确定在 Key2 中指定的值的排序顺序。 
    Key3 Object(String 或 Range) 第三排序字段;不适用于数据透视表排序。 
    Order3 XlSortOrder 确定在 Key3 中指定的值的排序顺序。 
    Header XlYesNoGuess(xlGuess、xlNo、xlYes) 指定第一行是否包含页眉信息,xlNo 为默认值;如果要使 Excel 尝试确定页眉,应指定 xlGuess。 
    OrderCustom Integer 指定一个在自定义排序顺序列表中的从 1 开始的偏移量。 
    MatchCase Boolean 设置为 True 则在执行排序时区分大小写,设置为 False 则在执行排序时不区分大小写;不适用于数据透视表。 
    Orientation XlSortOrientation(xlSortRows、xlSortColumns) 排序方向。 
    SortMethod XlSortMethod(xlStroke、xlPinYin) 指定用于中文语言的排序方法。 
    DataOption1 XlSortDataOption(xlSortTextAsNumbers、xlSortNormal) 指定如何对 Key1 中指定的范围内的文本进行排序;不适用于数据透视表排序。 
    DataOption2 XlSortDataOption 指定如何对 Key2 中指定的范围内的文本进行排序;不适用于数据透视表排序。 
    DataOption3 XlSortDataOption 指定如何对 Key3 中指定的范围内的文本进行排序;不适用于数据透视表排序。 
      

  3.   

    控制状态的属性
    Application 对象提供了大量控制 Microsoft Office Excel 2003 的常规状态的属性。一些常用的与状态有关的 Application 对象的属性有:属性 类型 说明 
    Cursor XlMousePointer(xlDefault、xlIBeam、xlNorthwestArrow、xlWait) 获取或设置鼠标指针的外观。 
    EditDirectlyInCell Boolean 获取或设置直接在单元格中进行编辑的能力。如果为 False,则只能在公式栏内编辑单元格。 
    FixedDecimal Boolean 如果为 True,则所有数值数据将使用 FixedDecimalPlaces 属性确定小数位数;否则,FixedDecimalPlaces 属性将被忽略(默认值为 False)。  
    FixedDecimalPlaces Long 如果 FixedDecimal 属性为 True,则此属性决定用于数值数据的小数位数。 
    Interactive Boolean 获取或设置用户通过键盘和鼠标与 Excel 之间的交互。如果将此属性设置为 False,请务必确保在异常处理程序中将其设置回 True。 
    MoveAfterReturn Boolean 如果为 True,则在按 ENTER 键时,选择目标移动到下一单元格;默认值为 True。 
    MoveAfterReturnDirection xlDirection(xlDown、xlToLeft、xlToRight、xlUp) 如果 MoveAfterReturn 属性为 True,则此属性指示按 ENTER 键后移动的方向。默认值为 xlDown。 
    ScreenUpdating Boolean 如果为 True,Excel 在每次方法调用之后更新其屏幕。可以在代码运行时关闭该显示。请确保将此属性重置为 True。  
    SheetsInNewWorkbook Long 获取或设置 Excel 自动放置在新工作簿中的工作表数。 
    StandardFont String 获取或设置默认字体名称;重新启动 Excel 后生效。 
    StandardFontSize Long 获取或设置 Excel 的默认字体的大小;重新启动 Excel 后才会生效。 
    StartupPath(只读) String 返回包含 Excel 启动外接程序的文件夹的完整路径。 
    TemplatesPath(只读) String 返回包含模板的文件夹的完整路径。 ScreenUpdating 属性常用于保留资源和停止屏幕闪烁。使用 ScreenUpdating 属性时可以使用如下代码,利用 Microsoft .NET Framework 的异常处理机制来确保屏幕更新得以继续:' Visual Basic
    Try
        ThisApplication.ScreenUpdating = False
        ' Do your work that updates the screen...Finally
        ThisApplication.ScreenUpdating = True
    End Try// C#
    try 

        ThisApplication.ScreenUpdating = false; 
        // Do your work that updates the screen... } 
    finally 

        ThisApplication.ScreenUpdating = true; 
    }
    控制显示的属性
    Application 对象还提供了一组用于在 Excel 中控制显示的属性。您可以修改其中的任一属性以更改用户在屏幕上所看到的显示。 
      

  4.   

    一些常见的显示选项有:属性 类型 说明 
    DisplayAlerts Boolean 如果为 True(默认值),则 Excel 在必要时将在代码运行期间显示警告消息。设置为 False 可跳过警告并选择默认值。 
    DisplayFormulaBar Boolean 如果为 True(默认值),Excel 显示用于编辑单元格的标准公式栏;若设置为 False,则隐藏编辑栏。 
    DisplayFullScreen Boolean 如果为 True,则 Excel 将在全屏显示模式下运行(该模式与简单地将 Excel 窗口最大化的效果不同);默认值为 False。 正如使用 ScreenUpdating 属性一样,重置 DisplayAlerts 属性十分重要。当 DisplayAlerts 设置为 False 时,在关闭工作簿前 Excel 不会提示您保存,这样可能会导致丢失数据。返回对象的属性
    Application 对象的许多属性将返回其他对象。通常需要利用 Application 类的对象成员来引用 Excel 提供的其他对象。您可以通过这些成员使用 ActiveWindow 之类的属性检索对某个特定子对象的引用,或者使用 Charts 之类的属性检索对一组可用对象的引用。Application 对象的一些常见的返回对象的属性有:属性 类型 说明 
    ActiveCell Range 返回一个对活动窗口(位于顶部的窗口)中当前活动的单元格的引用。如果没有活动窗口,此属性将引发错误。 
    ActiveChart Chart 返回一个对当前活动图表的引用。嵌入图表仅在被选中或激活后才被认为是活动的。 
    ActiveSheet Object 返回一个对活动工作簿中的活动工作表的引用。 
    ActiveWindow Window 返回一个对活动窗口(位于顶部的窗口)的引用;如没有活动窗口则返回 Nothing。 
    Charts Sheets 返回由 Sheet 对象(这些对象既是 Chart 对象的父级,又是 Worksheet 对象的父级)构成的集合,其中包含对活动工作簿中每个图表的引用。 
    Selection Object 返回应用程序中选定的对象,例如 Range、Worksheet 或任何其他对象。也适用于 Window 类,在这种情况下该选择一般是 Range 对象。如果当前未选中任何对象,则返回 Nothing。 
    Sheets Sheets 返回一个由 Sheet 对象构成的集合,其中包含对活动工作簿中的每个工作表的引用。 
    Workbooks Workbooks 返回一个由 Workbook 对象构成的集合,其中包含对所有打开的工作簿的引用。 您最常与 Application 类的 Workbooks 属性进行交互。此属性使您可以循环访问打开的工作簿,打开工作簿或创建新的工作簿。下面一节介绍这个属性的行为。处理文件操作的属性
    Application 对象提供的一些成员使您可以在 Excel 应用程序环境中与文件系统进行交互。以下各节介绍一些常用的成员。DefaultFilePath 属性
    这个简单的属性获取或设置 Excel 用于加载和保存文件的路径。以下代码实例要求工作表中有一个名为“rangeDefaultFilePath”的范围:' Visual Basic
    ' When the workbook opens:
    ThisApplication.Range("rangeDefaultFilePath").Value = _
        ThisApplication.DefaultFilePath' When you save the DefaultFilePath property:
    ThisApplication.DefaultFilePath = _
        ThisApplication.Range("rangeDefaultFilePath"). _
        Value.ToString// C#
    // When the workbook opens: 
    ThisApplication.get_Range("rangeDefaultFilePath", Type.Missing).Value2 = 
        ThisApplication.DefaultFilePath; // When you save the DefaultFilePath property: 
    ThisApplication.DefaultFilePath = 
        ThisApplication.get_Range("rangeDefaultFilePath",
        Type.Missing).Value2.ToString();
    DefaultSaveFormat 属性
    此属性获取或设置用于保存工作簿的默认格式。Excel 为此属性提供了很多选项,所有这些选项都是 XlFileFormat 枚举的成员。检索 DefaultSaveFormat 的当前值很容易实现。以下代码将该值转换成文本,并将其显示在一个 Range 中:' Visual Basic
    ThisApplication.Range("rangeDefaultSaveFormat").Value = _
        ThisApplication.DefaultSaveFormat.ToString// C#
    ThisApplication.get_Range("rangeDefaultSaveFormat", Type.Missing).Value2 = 
        ThisApplication.DefaultSaveFormat.ToString();
    RecentFiles 属性
    RecentFiles 属性返回包含文件名的字符串的集合,这些文件是出现在“文件”菜单的最近使用过的文件的列表中的所有文件。列表长度因用户选择要保留的文件数而异。' Visual Basic
    Private Sub ListRecentFiles()
        Dim i As Integer
        Dim rng As Excel.Range = DirectCast( _
            ThisApplication.Range("rangeRecentFiles"). _
            Cells(1, 1), Excel.Range)
        For i = 1 To ThisApplication.RecentFiles.Count
        rng.Offset(i - 1, 0).Value = _
            ThisApplication.RecentFiles(i).Name
        Next
    End Sub// C#
    private void ListRecentFiles() 

        Excel.Range rng = (Excel.Range)
            ThisApplication.get_Range("rangeRecentFiles", Type.Missing). 
            Cells[1, 1]; 
        for (int i=1; i <= ThisApplication.RecentFiles.Count; i++) 
        { 
            rng.get_Offset(i-1, 0).Value2 =
                ThisApplication.RecentFiles[i].Name; 
        } 
    }