小编kva*_*our的帖子

在MS Word 2010中查找和替换整个文档中的文本(包括表格)

我有一个MS Word文档,包括一个表.我试图使用以下代码通过VBA查找和替换文本:

If TextBox1.Text <> "" Then
    Options.DefaultHighlightColorIndex = wdNoHighlight
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    Selection.Find.Replacement.Highlight = True
    With Selection.Find
        .Text = "<Customer_Name>"
        .Replacement.Text = TextBox1.Text
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With

Selection.Find.ClearFormatting
    With Selection.Find.Font
    .Italic = True
    End With
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find.Replacement.Font
    .Italic = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    End If
Run Code Online (Sandbox Code Playgroud)

这适用于替换表格之外的所有内容.但它不会取代表中的任何内容.

vba ms-word

7
推荐指数
2
解决办法
6万
查看次数

在日志文件中搜索 - 退出代码

我有一些遗留软件,我需要在Control-M下自动化.这些工作属于Windows 2008R2.

如果它们运行正常,这些作业的退出代码为0,但如果它们可以管理某些错误,则它们也会有.当特定字符串在日志中时,我需要发出警报.
该字符串不在可执行文件的输出中.

我为此实施了另一项工作.它会搜索文件中的字符串,并在"On Do Actions"中搜索该语句.

要在输出中使用语句,我认为使用像grep这样的东西.我用了:

在这两种情况下,我都有相同的情况:

  • 如果找到了字符串,那么每一件事都可以
  • 如果找不到文件或无法打开文件,grep或findstr将返回退出代码= 1.这没关系,因为作业必须引发错误.

但问题是:当在文件中找不到字符串时,grep和findstr都有一个返回码= 1.

如果文件无法打开以及一切运行正常但是找不到日志中的sring,我如何区分这些情况?

shell command-line grep control-m

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

协程中的范围混淆

我有一个用例,我想使用协程,但有点混淆如何实现它.

一个ViewModel,它具有一个范围并绑定到UI生命周期并从存储库调用API:

class UserViewModel(): CoroutineScope {

    private val job = Job()
    override val coroutineContext: CoroutineContext
        get() = Dispatchers.Main + job

    fun showUser() { 
       launch {
          val user = repo.getUser() 
          livedata = user
       }
    }

    fun onClean() {
       job.cancel()
    }
}
Run Code Online (Sandbox Code Playgroud)

存储库使用协同程序来构建网络调用,如下所示:

suspend fun getUser() = GlobalScope { ... }
Run Code Online (Sandbox Code Playgroud)

用例是一旦从ViewModel调用API,就需要始终完全执行存储库功能,因为我们需要捕获来自服务器的所有网络响应.

我怎样才能确保存储库中的协程始终执行,但是一旦视图模型被清除,ViewModel协程将被取消以避免内存泄漏?

kotlin kotlinx.coroutines

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

从PInvoke返回一个字符串?

我使用PInvoke实现本机代码(C++)和托管代码(C#)之间的互操作性.我只写了一个简单的函数,它从C++代码中获取一个字符串.我的代码看起来像

C#代码:

[DllImport("MyDll.dll")]
private static extern string GetSomeText();
public static string GetAllValidProjects() {
    string s = GetSomeText();
    return s;
}
Run Code Online (Sandbox Code Playgroud)

C++代码

char* GetSomeText() {
    std::string stri= "Some Text Here";
    char * pchr = (char *)stri.c_str();
    return pchr;
}
Run Code Online (Sandbox Code Playgroud)

所有在C++端都可以正常工作,即变量pchr包含"Some Text Here",但在C#中,字符串s包含注释.我不知道我做错了什么.任何帮助,将不胜感激

c# c++ pinvoke

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

将csv文件拆分为较小的文件但使用bash保留标头?

我有一个巨大的csv文件,1米行..我想知道是否有办法将此文件拆分为较小的文件,但保留所有文件的第一行(csv标头).

它似乎split非常快,但也非常有限,就像你不能为.csv这样的文件名添加后缀.

split -l11000 products.csv file_
Run Code Online (Sandbox Code Playgroud)

是否有一种有效的方法来完成这项任务.csv?一行命令会很棒.

csv bash awk

6
推荐指数
2
解决办法
3788
查看次数

Fortran中的BLOCK有什么意义?

我正在看一些代码,有这样的:

BLOCK

...lines of code...

END BLOCK
Run Code Online (Sandbox Code Playgroud)

目的是BLOCK什么?我试图谷歌它,但我发现的只是一些东西BLOCK DATA和COMMON块.我不确定他们是否相关.

fortran

6
推荐指数
3
解决办法
803
查看次数

无法上传文件

我正在使用 mobaxterm 连接到我大学的服务器。当我尝试拖放文件时,加载屏幕显示它为 0%,此后似乎什么也没发生。

upload file mobaxterm

6
推荐指数
2
解决办法
9475
查看次数

查找包含非打印字符(空字节)的文件

我的应用程序日志中包含一个包含奇怪字符的字段。仅当我使用命令时我才能看到这些字符less。

我尝试将代码行的结果复制到文本文件中,我看到的是

CTP_OUT=^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
Run Code Online (Sandbox Code Playgroud)

我想知道是否有办法找到这些空字符。我尝试过使用grep命令,但没有显示任何内容

unix linux bash grep

6
推荐指数
2
解决办法
8679
查看次数

在AWS实例中设置环境变量

我使用此资源在EC2中创建了一个带有terraform的AMI:

resource "aws_instance" "devops-demo" {
  ami           = "jnkdjsndjsnfsdj"
  instance_type = "t2.micro"
  key_name      = "demo-devops"
  user_data     = "${file("ops_setup.sh")}"
}
Run Code Online (Sandbox Code Playgroud)

用户数据执行安装Java JRE 的shell脚本:

  sudo yum remove java-1.7.0-openjdk -y
  sudo wget -O /opt/server-jre-8u172-linux-x64.tar.gz --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u172-b11/a58eab1ec242421181065cdc37240b08/server-jre-8u172-linux-x64.tar.gz"
  sudo tar xzf /opt/server-jre-8u172-linux-x64.tar.gz
  export JAVA_HOME=/jdk1.8.0_172
  export JRE_HOME=/jdk1.8.0_171/jre
  export PATH=$JAVA_HOME/bin:$PATH
Run Code Online (Sandbox Code Playgroud)

但是没有一个环境变量可行.但是,如果我通过ssh连接到实例并执行export命令,它可以正常工作.

有没有办法用terraform定义环境变量?

linux environment-variables amazon-ec2 amazon-web-services terraform

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

MT19937 不会通过将种子值保持为常数来重现相同的伪随机序列

我正在 Fortran 90/95 的 Monte Carlo 模拟中编写一个检查点函数,我使用的编译器是 ifort 18.0.2,在详细说明我正在使用的伪随机生成器的版本之前:

A C-program for MT19937, with initialization, improved 2002/1/26.
Coded by Takuji Nishimura and Makoto Matsumoto.

Code converted to Fortran 95 by Josi Rui Faustino de Sousa
Date: 2002-02-01
Run Code Online (Sandbox Code Playgroud)

源代码见mt19937。

我的蒙特卡罗模拟代码的一般结构如下:

program montecarlo
 call read_iseed(...)
 call mc_subroutine(...)
end 
Run Code Online (Sandbox Code Playgroud)

内 read_iseed

subroutine read_iseed(...)
  use mt19937

    if (Restart == 'n') then

    call system('od -vAn -N4 -td4 < /dev/urandom > '//trim(IN_ISEED)
    open(unit=7,file=trim(IN_ISEED),status='old')
    read(7,*) i
    close(7)

    !This is only used to initialise the PRNG …
Run Code Online (Sandbox Code Playgroud)

random fortran mersenne-twister

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