我公司VBA的一个常见用法是根据Excel表格中输入的信息生成源代码.鉴于VBA的本机字符串操作,执行此操作的代码编写起来很繁琐,而且不易读取.
一个简单的例子(这些变得更复杂)是:
Print #fileIdentifier, SSpace(9) & "update_" & print_string & "[" & CStr(j) & "] <= 1'b0;"
Print #fileIdentifier, SSpace(9) & print_string & "_ack_meta" & "[" & CStr(j) & "] <= 1'b0;"
Print #fileIdentifier, SSpace(9) & print_string & "_ack_sync" & "[" & CStr(j) & "] <= 1'b0;"
Run Code Online (Sandbox Code Playgroud)
我在VBA中寻找一个允许我使用"文本模板"指定它的解决方案,因此定义一个看起来像这样的文本
Run Code Online (Sandbox Code Playgroud)update_@name@[@bit@] <= 1'b0; @name@_ack_meta[@bit@] <= 1'b0; @name@_ack_sync[@bit@] <= 1'b0;
并且有一个函数/方法调用,传递@ name @和@ bit @的值,用相应的值替换@ name @和@ bit @的所有实例.