wps怎么让形状里的字引用表格里的字?

JavaScript016

wps怎么让形状里的字引用表格里的字?,第1张

如果您正在使用 WPS 表格处理软件,想要在形状中引用表格中的文本,可以使用 WPS 的宏功能来实现,通过编写宏代码来引用表格中的文本并插入到形状中。以下以JS宏为例实现此功能。

第一步,开启开发工具:

在使用宏之前,您需要启用 WPS 中的“开发工具”选项卡。要启用此选项卡,请依次单击“文件”菜单,选择“选项”,然后选择“自定义功能区”,在右侧面板中选中“开发工具”,然后单击“确定”。

启用开发工具

第二步,创建并编写JS宏:

在启用“开发工具”选项卡后,您可以在该选项卡中创建和运行宏。要创建宏,请单击“JS宏”按钮,然后在打开的编辑器中编写代码。

下面是一个完整的JS宏代码:

/**

* InsertTextFromTable Macro

*/

function InsertTextFromTable()

{

let text = Worksheets.Item('Sheet1').Range("B1").Value2

let shp = Worksheets.Item('Sheet1').Shapes.Item(1)

shp.TextFrame2.TextRange.Text = text

}

function Workbook_SheetChange(Sh, rg)

{

InsertTextFromTable()

}

在上面的示例代码InsertTextFromTable方法中,我们首先获取了文档中的B1单元格的值,以及文档中的第一个形状对象,并将B1单元格中的文本插入到形状中。

最后在文档Sheet有变动时调用此方法,形状中的文字就会跟随变化了。

第三步,运行JS宏代码:

在编写完代码后,可以通过单击“运行”按钮或使用快捷键 F5 来运行宏。

第四步,保存文件:

文档编辑完成后,需要保存成启用宏的文档格式:xlsm。

请注意,如果您不熟悉JS宏编程,建议先学习一些基础知识,以免出现错误。

以上就是完整的解决方法,希望能帮助到你。

Word 开发人员参考

Application.Run 方法

运行 Visual Basic 宏。

语法

表达式.Run(MacroName, varg1, varg2, varg3, varg4, varg5, varg6, varg7, varg8, varg9, varg10, varg11, varg12, varg13, varg14, varg15, varg16, varg17, varg18, varg19, varg20, varg21, varg22, varg23, varg24, varg25, varg26, varg27, varg28, varg29, varg30)

表达式 必选。一个代表 Application 对象的变量。

参数

名称 必选/可选 数据类型 说明

MacroName 必选 String 宏的名称。

varg1...varg30 可选 Variant 宏参数值。最多可以给指定宏传递 30 个参数值。

说明

MacroName 参数可以是任意模板、模块和宏名的组合。例如,下列语句均有效。

Visual Basic for Applications

Application.Run "Normal.Module1.MAIN"

Application.Run "MyProject.MyModule.MyProcedure"

Application.Run "'My Document.doc'!ThisModule.ThisProcedure"

如果指定了文档名,则此代码只能运行与当前环境有关的文档中的宏,而不是任何文档中的任何宏。

虽然 Visual Basic 代码可直接调用宏(无需使用 Run 方法),但当宏名存储在变量中时该方法仍很有用。(有关详细信息,请参见本主题示例。)下面三条语句作用相同。前两条语句需要引用 Normal.dot(被调用宏所在的项目);第三条语句由于使用 Run 方法,因此无需引用 Normal.dot 项目。

Visual Basic for Applications

Normal.Module2.Macro1

Call Normal.Module2.Macro1

Application.Run MacroName:="Normal.Module2.Macro1"

示例

本示例提示用户输入模板名、模块名、宏名以及参数值,然后运行该宏。

Visual Basic for Applications

Dim strTemplate As String

Dim strModule As String

Dim strMacro As String

Dim strParameter As String

strTemplate = InputBox("Enter the template name")

strModule = InputBox("Enter the module name")

strMacro = InputBox("Enter the macro name")

strParameter = InputBox("Enter a parameter value")

Application.Run MacroName:=strTemplate &"." _

&strModule &"." &strMacro, _

varg1:=strParameter