小编kir*_*ope的帖子

通过C#运行Excel宏:从另一个工作簿运行宏?

我想运行一个宏,让我们从WorkSheet02上的WorkSheet01中调用它.

使用Microsoft.Office.Interop.Excel命名空间我打开了一个WorkSheet01.

public void Main_CodedStep()
    {
        // Object for missing (or optional) arguments.
        object oMissing = System.Reflection.Missing.Value;

        // Create an instance of Microsoft Excel
        Excel.ApplicationClass oExcel = new Excel.ApplicationClass();

        // Make it visible
        oExcel.Visible = true;

        // Open Worksheet01.xlsm
        Excel.Workbooks oBooks = oExcel.Workbooks;
        Excel._Workbook oBook = null;
        oBook = oBooks.Open("C:\\Users\\Admin\\Documents\\Worksheet01.xlsm", oMissing, oMissing,
            oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, 
            oMissing, oMissing, oMissing, oMissing, oMissing, oMissing);
    }
Run Code Online (Sandbox Code Playgroud)

然后我使用自动脚本来提取报告.此报告是通过IE的下载提示而不是Interop打开的.

当我尝试通过C#运行宏时出现了问题(我创建了另一个新的Excel.ApplicationClass();只有这样才编译,我相信这是我的失误之一.)

public void FirstMacro_CodedStep()
    {
        // Create an instance of Microsoft Excel …
Run Code Online (Sandbox Code Playgroud)

c# excel vba office-automation

9
推荐指数
1
解决办法
4万
查看次数

捕获HTTP流量

简短版本:
我希望确保请求URL(部分匹配)(客户端).

长版:
我希望自动化部分测试.目前我使用Fiddler2手动验证.

这是场景:

  1. 用户导航到站点A.
  2. 我的应用使用跟踪网址重定向(在Fiddler的HTTP流量中看到)
  3. 用户最终在站点A上,现在应用了参数.

我想在C#中验证步骤2是通过进行部分匹配(例如包含{string})来实现的.

问题:
我应该怎么做?我已经开始研究HttpWebRequest课程FiddlerCore,但我喜欢使用最简单的代码(所以其他团队成员如果需要更新)会让我问一下StackOverflow的用户会推荐什么.

c# http

5
推荐指数
2
解决办法
1万
查看次数

JavaFX 等待页面加载后再继续

我有一个方法为 WebView 的 WebEngine 设置一个新网页,该网页需要等到页面加载完成才能继续当前方法。

本质上我想要:

MyMethod()
{
    navigateToNewUrl();
    waitForPageToLoad(); // This is the part I am struggling with
    doSomethingElse();
}
Run Code Online (Sandbox Code Playgroud)

我尝试过使用 ChangeListener() 但它只会在我的方法完成执行后执行。我在谷歌上搜索了许多导致更多挫败感的术语,例如“java非阻塞等待布尔值”。最终我做到了启动新线程(以防止应用程序 GUI 锁定)并使用 CountDownTimer (而不是 Thread.join() )。下面的代码是我无数次尝试获得我想要的东西。

public static Boolean pageLoaded;
public volatile static CountDownLatch latch;

private static void TestMethod()
{
    // Set the CountDownLatch
    latch = new CountDownLatch(1);

    // Set the page loaded flag
    pageLoaded = false;

    // Navigate to new window
    myWebView.getEngine().load("https://www.google.com/");

    // Call a method, that starts a thread, that checks if the page …
Run Code Online (Sandbox Code Playgroud)

multithreading javafx-8

1
推荐指数
1
解决办法
6506
查看次数

标签 统计

c# ×2

excel ×1

http ×1

javafx-8 ×1

multithreading ×1

office-automation ×1

vba ×1