步骤 4:从单元格测试和调用 UDF
上次修改时间: 2006年10月12日
适用范围: SharePoint Server 2010
此步骤中将测试在上一步中创建、部署和启用的 SampleUdf.dll 程序集。若要测试用户定义的函数 (UDF),将:
创建一个工作簿,其中包含命名区域和调用 SampleUdf.dll 中函数的公式。
将工作簿保存到处于受信任位置的 SharePoint 文档库。
备注
假定您已经创建一个 SharePoint 文档库并使其成为受信任的位置。有关如何信任位置的信息,请参阅步骤 3:部署和启用 UDF 中的"信任位置"部分。
更改参数以重新计算工作簿。
测试 UDF
从单元格中调用 UDF
启动 Microsoft Office Excel 2007。
在单元格 A1 中键入调用 SampleUdf.dll 中 MyDouble 函数的公式。MyDouble 函数采用 double 类型的参数。此示例中将采用单元格 B1 中的参数。在单元格 A1 中键入 =MyDouble(B1)。
备注
此公式在 Excel 中的计算结果将为"#NAME?"。只有 Excel Services 中显示工作簿时才会计算公式的值。
备注
在客户端和服务器上都可以运行 UDF。MSDN 上未来会发布文章,详细介绍这一点。为简单起见,此处忽略这些内容。
在单元格 B1 中键入数字 8。
使单元格 B1 成为命名区域。首先单击"公式"选项卡。然后单击单元格 B1 将其选中。在"公式"选项卡的"命名单元格"组中单击"命名单元格区域"。在"新名称"对话框的"名称"框中键入"MyDoubleParam"。
在单元格 A2 中键入调用 ReturnDateTimeToday 函数的公式。键入 =ReturnDateTimeToday()。
在单元格 A3 中键入调用 ReturnDateTimeToday 函数的公式。键入 =ReturnDateTimeToday()。然后右键单击单元格 A3 以显示菜单。单击"设置单元格格式"。
在"设置单元格格式"对话框的"数字"选项卡上选择"日期"。从"类型"列表中选择日期格式类型(例如 *3/4/2001)。
单击"确定"。
将工作簿保存到本地驱动器上您所选择的位置。将工作簿命名为"TestSampleUdf.xlsx"。
保存到 Excel Services
单击"Microsoft Office 按钮",指向"另存为",然后单击"保存以用于 Excel Services"。
在"另存为"对话框中单击"Excel Services 选项"。
在"Excel Services 选项"对话框的"显示"选项卡上确保选中"整个工作簿"。
单击"参数"。
在"添加参数"列表中选中"MyDoubleParam"复选框。
单击"确定"。现在应该看到"参数"列表中列出了"MyDoubleParam"。
单击"确定"。
在"另存为"对话框中确保选中"保存后在浏览器中打开此工作簿"复选框。
在"文件名"框中键入要存储此工作簿的受信任 SharePoint 文档库的路径。例如 http://MyServer002/Shared%20Documents/TestSampleUdf.xlsx。
单击"保存"。此时应该在 Excel Web Access 看到 TestSampleUdf.xlsx。在单元格 A1 中应该看到数字"72",因为单元格 B1 * 9 = 8 * 9,即 72。在单元格 A2 中应该看到数字。在单元格 A3 中应该看到当前日期。
备注
在单元格 A2 中,数字表示自 1900 年 1 月 1 日(如果打开"使用 1904 年日期系统",则为 1904 年 1 月 1 日)至今的天数。这是 Excel 内部表示日期的方式。
更改参数以测试 UDF
在"参数"窗格中应该看到单元格 B1 的命名区域,即"MyDoubleParam"。
通过在"MyDoubleParam"旁边的框中键入数字,可以更改单元格 B1 中的值。例如,如果键入 3 然后单击"应用",则 Excel Services 将重新计算工作簿。单元格 A1 所含内容将为"27"而非"72"。