步骤 4:从单元格测试和调用 UDF

上次修改时间: 2006年10月12日

适用范围: SharePoint Server 2010

此步骤中将测试在上一步中创建、部署和启用的 SampleUdf.dll 程序集。若要测试用户定义的函数 (UDF),将:

  1. 创建一个工作簿,其中包含命名区域和调用 SampleUdf.dll 中函数的公式。

  2. 将工作簿保存到处于受信任位置的 SharePoint 文档库。

    备注

    假定您已经创建一个 SharePoint 文档库并使其成为受信任的位置。有关如何信任位置的信息,请参阅步骤 3:部署和启用 UDF 中的"信任位置"部分。

  3. 更改参数以重新计算工作簿。

测试 UDF

从单元格中调用 UDF

  1. 启动 Microsoft Office Excel 2007。

  2. 在单元格 A1 中键入调用 SampleUdf.dll 中 MyDouble 函数的公式。MyDouble 函数采用 double 类型的参数。此示例中将采用单元格 B1 中的参数。在单元格 A1 中键入 =MyDouble(B1)。

    备注

    此公式在 Excel 中的计算结果将为"#NAME?"。只有 Excel Services 中显示工作簿时才会计算公式的值。

    备注

    在客户端和服务器上都可以运行 UDF。MSDN 上未来会发布文章,详细介绍这一点。为简单起见,此处忽略这些内容。

  3. 在单元格 B1 中键入数字 8。

  4. 使单元格 B1 成为命名区域。首先单击"公式"选项卡。然后单击单元格 B1 将其选中。在"公式"选项卡的"命名单元格"组中单击"命名单元格区域"。在"新名称"对话框的"名称"框中键入"MyDoubleParam"。

  5. 在单元格 A2 中键入调用 ReturnDateTimeToday 函数的公式。键入 =ReturnDateTimeToday()。

  6. 在单元格 A3 中键入调用 ReturnDateTimeToday 函数的公式。键入 =ReturnDateTimeToday()。然后右键单击单元格 A3 以显示菜单。单击"设置单元格格式"。

  7. 在"设置单元格格式"对话框的"数字"选项卡上选择"日期"。从"类型"列表中选择日期格式类型(例如 *3/4/2001)。

  8. 单击"确定"。

  9. 将工作簿保存到本地驱动器上您所选择的位置。将工作簿命名为"TestSampleUdf.xlsx"。

保存到 Excel Services

  1. 单击"Microsoft Office 按钮",指向"另存为",然后单击"保存以用于 Excel Services"。

  2. 在"另存为"对话框中单击"Excel Services 选项"。

  3. 在"Excel Services 选项"对话框的"显示"选项卡上确保选中"整个工作簿"。

  4. 单击"参数"。

  5. 在"添加参数"列表中选中"MyDoubleParam"复选框。

  6. 单击"确定"。现在应该看到"参数"列表中列出了"MyDoubleParam"。

  7. 单击"确定"。

  8. 在"另存为"对话框中确保选中"保存后在浏览器中打开此工作簿"复选框。

  9. 在"文件名"框中键入要存储此工作簿的受信任 SharePoint 文档库的路径。例如 http://MyServer002/Shared%20Documents/TestSampleUdf.xlsx。

  10. 单击"保存"。此时应该在 Excel Web Access 看到 TestSampleUdf.xlsx。在单元格 A1 中应该看到数字"72",因为单元格 B1 * 9 = 8 * 9,即 72。在单元格 A2 中应该看到数字。在单元格 A3 中应该看到当前日期。

    备注

    在单元格 A2 中,数字表示自 1900 年 1 月 1 日(如果打开"使用 1904 年日期系统",则为 1904 年 1 月 1 日)至今的天数。这是 Excel 内部表示日期的方式。

更改参数以测试 UDF

  1. 在"参数"窗格中应该看到单元格 B1 的命名区域,即"MyDoubleParam"。

  2. 通过在"MyDoubleParam"旁边的框中键入数字,可以更改单元格 B1 中的值。例如,如果键入 3 然后单击"应用",则 Excel Services 将重新计算工作簿。单元格 A1 所含内容将为"27"而非"72"。

请参阅

任务

步骤 1:创建项目和添加 UDF 引用

第 2 步:创建托管代码 UDF

步骤 3:部署和启用 UDF

如何:创建调用 Web 服务的 UDF

概念

演练:开发托管代码 UDF

了解 Excel Services UDF