VBS代码中的With语句,在PowerShell中如何表达

2023-12-28

有没有可以快速将VBS代码转换为PowerShell代码的软件或工具?

另外,我想知道的是,以下WithVBS代码中的语句,在PowerShell中如何表达?

The With语句很棒,可以缩短代码,我可以在PowerShell中实现类似的功能吗?

我发现PowerShell代码非常简洁,我很好奇,想知道上面的代码,如何使用最短的PowerShell代码来实现相同的功能。

'declare and instaciate wrdApp
Dim wrdApp: Set wrdApp = WScript.CreateObject("Word.Application")
'declare wrdDoc
Dim wrdDoc
Dim wdReplaceAll

'Open the document
Set wrdDoc = wrdApp.Documents.Open("c:\test.docx")

'set the value for the replace "constant"
wdReplaceAll = 2

wrdDoc.Select

With wrdApp.Selection.Find
    .ClearFormatting
    .Replacement.ClearFormatting
    .Text = "WordToReplace"
    .Replacement.Text = "ReplaceWith"
    .Forward = True
    .Wrap = 1
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
'the Replace argument is the 11'th argument 
    .Execute , , , , , , , , , , wdReplaceAll
End With

'save the document and close Word
wrdDoc.SaveAs2 "c:\test-ok.docx"
wrdApp.Quit

'clean up
Set wrdApp = Nothing
Set wrdDoc = Nothing

PowerShell 没有 VBScript 的等效项With陈述。代替

With wrdApp.Selection.Find
    .ClearFormatting
    .Replacement.ClearFormatting
    ...
End With

你可能会这样做:

$find = $wrdApp.Selection.Find
$find.ClearFormatting()
$find.Replacement.ClearFormatting()
...

或者像这样:

$wrdApp.Selection.Find | ForEach-Object {
    $_.ClearFormatting()
    $_.Replacement.ClearFormatting()
    ...
}

另外,据我所知,没有 VBScript 或 VBA 到 PowerShell 编译器。我整理了一些关于如何将 VBA 代码转换为 PowerShell https://sdb.planetcobalt.net/vba2psh.shtml, 尽管。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VBS代码中的With语句,在PowerShell中如何表达 的相关文章

随机推荐

  • Scrapy:如何调试scrapy丢失的请求

    我有一个 scrapy 蜘蛛 但有时它不返回请求 我发现通过在产生请求之前和获得响应之后添加日志消息 Spider 可以迭代页面并解析每个页面上的项目废弃的链接 这是代码的一部分 SampleSpider BaseSpider def pa
  • 如何在java中使用中文和日文字符作为字符串?

    Hi我正在使用java语言 在此我必须使用一些中文 日文字符作为字符串并使用 System out println 进行打印 我怎样才能做到这一点 Thanks Java Strings支持Unicode 所以中文和日文都没问题 不过 其他
  • 或者不是有效的 C++:为什么这段代码可以编译?

    这是我用 QtCreator 制作的一个非常简单的 C 应用程序 int main int argc char argv int a 1 int b 2 if a lt 1 or b gt 3 return 1 return 0 对我来说
  • Eigen 将旋转和平移组合成一个矩阵

    我有一个旋转矩阵rot Eigen Matrix3d 和平移向量transl Eigen Vector3d 我希望它们一起出现在 4x4 变换矩阵中 我只是为了我的生活不知道如何在 Eigen 中做到这一点 我认为仿射可以以某种方式使用 但
  • Android 中的 Z 索引?

    我在一个 xml 中有多个元素 listview slidingdrawer edittext 和 button 我想滑动抽屉顺序始终位于另一个元素的前面 但我不能 这是我的 xml
  • 与复合组件一起使用时出现重复 ID 异常

    有条件地使用复合组件时 出现重复 ID 异常
  • SwingUtilities.invokeLater()

    我如何感受到 SwingUtilities invokeLater 在任何 swing 应用程序中的重要性 请给出一些代码示例 每当你需要更新 GUI 中的某些内容时 你应该通过AWT 事件线程 这是因为 AWT 以及顶部的 Swing 有
  • 在使用 XP 模式的 Windows 7 上构建 Visual Studio 2010 Silverlight 4 项目时出错

    我在 Windows 7 上的 XP 模式 VM 中安装了 Visual Studio 2010 Beta 2 然后我创建了一个简单的 Silverlight 4 测试版 项目并尝试构建它 我收到以下错误 错误 1 ValidateXaml
  • Spring Security,JUnit:@WithUserDetails 用于在 @Before 中创建的用户

    在使用 Spring MockMVC 的 JUnit 测试中 有两种方法用于验证 Spring Security 用户的身份 WithMockUser使用提供的凭据创建一个虚拟用户 WithUserDetails获取用户名并将其解析为正确的
  • Spark Streaming Kafka 流

    我在尝试使用 Spark Streaming 读取 kafka 时遇到一些问题 我的代码是 val sparkConf new SparkConf setMaster local 2 setAppName KafkaIngestor val
  • 使用python正则表达式来匹配时间

    我正在尝试解析一个 csv 文件 其时间格式为下午 6 30 或上午 7 点或午夜 我已经用谷歌搜索并阅读了 python 文档中的正则表达式文档 但未能成功实现它们 我第一次尝试匹配它们是 re findall r d 1 2 d 1 2
  • 带过滤器的 Web Api $extend IQueryable

    我有一个设置 我获得了一个 WebApi OData 服务 该服务返回 客户 返回客户的代码是 public IHttpActionResult GetCustomers ODataQueryOptions
  • Java 8 流中聚合运行时异常

    假设我有一个抛出运行时异常的方法 我正在使用一个Stream对列表中的项目调用此方法 class ABC public void doStuff MyObject myObj if throw new IllegalStateExcepti
  • 如何在kivy+python中从数据库获取数据并显示在表格中

    list py import kivy kivy require 1 9 0 replace with your current kivy version import sqlite3 as lite from kivy uix scree
  • PHP foreach 更改原始数组值[重复]

    这个问题在这里已经有答案了 我对多维数组非常陌生 这让我很烦恼 我的数组如下 fields array names gt array type gt text class gt name name gt name text before g
  • JavaScript 倒计时和重定向

    我有一个 javascript 脚本 它运行倒计时 然后重定向到另一个链接 由于我现在所有网站都使用静态域运行相同的代码 因此我想知道是否可以编辑脚本以使其根据其周围的 span 标签重定向到不同的链接 我还删除了这段代码 所以如果有人有更
  • 在外部存储器/SD卡上缓存图像的推荐路径

    当我在 Android 文件传输或 Astro 文件管理器中查看 SD 卡根目录时 发现很混乱 因为应用程序到处都存储着文件 作为开发人员 我们通过缓存图像 文件等来遵循最佳实践 以使我们的应用程序更快 并且我们使用Environment
  • 如何仅向测试人员发布新版本的 Chrome 扩展程序

    我有一个有很多用户的 Chrome 扩展程序 我想更新它 我已准备好一切 但我需要测试更新以确保当前用户不会丢失数据 有没有办法只将新版本发布给受信任的测试人员 我创建了一个测试组 我插入受信任的测试人员电子邮件帐户 我已在测试帐户下登录
  • 架构和数据字典有什么区别?

    模式的定义是数据库中数据的逻辑结构 它由用户拥有并与数据库用户同名 模式包含表的名称 它的列类型是什么等 数据字典也仅包含元数据 当然它是在数据库级别而不是用户级别 模式和数据字典之间的确切区别是什么 这些定义来自我的经验 20 多年的程序
  • VBS代码中的With语句,在PowerShell中如何表达

    有没有可以快速将VBS代码转换为PowerShell代码的软件或工具 另外 我想知道的是 以下WithVBS代码中的语句 在PowerShell中如何表达 The With语句很棒 可以缩短代码 我可以在PowerShell中实现类似的功能