小编use*_*061的帖子

遍历目录中的所有Word文件

我有以下代码:

Sub WordtoTxtwLB()
'
' WordtoTxtwLB Macro
'
'
Dim fileName As String
myFileName = ActiveDocument.Name

ActiveDocument.SaveAs2 fileName:= _
"\\FILE\" & myFileName & ".txt", FileFormat:= _
wdFormatText, LockComments:=False, Password:="", AddToRecentFiles:=True, _
WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, _
SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:= _
False, Encoding:=1252, InsertLineBreaks:=True, AllowSubstitutions:=False, _
LineEnding:=wdCRLF, CompatibilityMode:=0


End Sub
Run Code Online (Sandbox Code Playgroud)

我想通过目录中的所有单词(.doc)文件循环此子.我有以下代码:

Sub LoopDirectory()

vDirectory = "C:\programs2\test"

vFile = Dir(vDirectory & "\" & "*.*")

Do While vFile <> ""

Documents.Open fileName:=vDirectory & "\" & vFile

ActiveDocument.WordtoTxtwLB

vFile = Dir
Loop

End Sub
Run Code Online (Sandbox Code Playgroud)

但它没有用.如何通过更改当前代码或使用新代码来实现此功能?

vba ms-word

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

用Java清除数据报缓冲区

所以我从互联网上获得了这个简单的udp客户端/服务器代码,它的工作原理.但是,当我输入比我之前输入的东西更短的东西时,我会剩下剩下的字符.例如,如果我先输入:

kitty
Run Code Online (Sandbox Code Playgroud)

然后输入:

cat
Run Code Online (Sandbox Code Playgroud)

第二个印刷品如下:

catty
Run Code Online (Sandbox Code Playgroud)

我一直在寻找其他有类似问题的人,其中大部分似乎都是通过清除字节数组来解决的.但是,如果我尝试实现他们的答案,它不能解决我的问题.我需要做什么,并且(可能更重要的是)代码应该去哪里?这是代码:

客户:

import java.io.*;
import java.net.*;

class UDPClient
 {
    public static void main(String args[]) throws Exception
    {
       BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in));
       DatagramSocket clientSocket = new DatagramSocket();
       InetAddress IPAddress = InetAddress.getByName("localhost");
       byte[] sendData = new byte[1024];
       byte[] receiveData = new byte[1024];
       String sentence = inFromUser.readLine();
       sendData = sentence.getBytes();
       DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, 20700);
       clientSocket.send(sendPacket);
       DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
       clientSocket.receive(receivePacket);
       String modifiedSentence = new String(receivePacket.getData());
       System.out.println("FROM SERVER:" + modifiedSentence); …
Run Code Online (Sandbox Code Playgroud)

java buffer byte udp

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

火车路线的字典最佳数据结构?

所以我的任务基本上是读取一个文件(记事本文件),该文件有一堆列车停靠点以及从一站到另一站的时间.例如,它看起来像:

Stop A     15
Stop B     12
Stop C     9
Run Code Online (Sandbox Code Playgroud)

现在我需要返回并访问这些站点及其时间.我正在考虑阅读文件并将其存储为字典.我的问题是,字典是否最适合这个?或者是否有一些其他python工具会更有用?任何想法将不胜感激!

python routing dictionary

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

在Perl上搜索文件

好的,所以我需要读取一个文件,遍历每一行并找到字符串ERROR的位置.这是我到目前为止:

open(LOGFILE, "input.txt") or die "Can't find file";

$title = <LOGFILE>;

$\=' ' ;
while (<>){
    foreach $title(split){
        while (/^ERROR/gm){
            print "ERROR in line $.\n";
        }
    }
}
close LOGFILE;
Run Code Online (Sandbox Code Playgroud)

所以我遇到的问题是它只查看每一行的第一个单词.所以如果输入是

嘘远误

它不会注册错误.任何帮助将不胜感激!我是perl的新手所以请尽量保持基本.谢谢!

perl search

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

Perl删除第一次出现

好的,所以我想删除第一次出现的字符串,比如说,"dog",在文件中,只有第一次出现.所以如果文件是:

狗很高兴.
狗喜欢跑.

输出将是

很高兴.
狗喜欢跑.

我有以下代码:

#!/usr/local/bin/perl

use warnings;
use strict;

my $file = $ARGV[0];
my $out = $ARGV[1];

open (IN, "<$file");
open (OUT, ">$out");
while(<IN>){
  s/dog/ /;
  print OUT $_;
}

close IN;
close OUT;
Run Code Online (Sandbox Code Playgroud)

并且它可以工作,但它不是仅重新调整第一个实例,而是替换该单词的所有实例.我以为我必须使用全局修饰符g来替换所有实例?为什么要替换我正在搜索的字符串的所有实例?这可能是一些我没有看到的简单错误.

perl replace

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

Perl通过目录递归

基本上我要做的就是浏览目录并对所有文件执行操作,在本例中为子searchForErrors.这个子工作.到目前为止我所拥有的是:

sub proccessFiles{
    my $path = $ARGV[2];

    opendir(DIR, $path) or die "Unable to open $path: $!";
    my @files = readdir(DIR);
    @files = map{$path . '/' . $_ } @files;
    closedir(DIR);

    for (@files){
        if(-d $_){
            process_files($_);
        }
        else{
        searchForErrors;
    }
}
}

proccessFiles($path);
Run Code Online (Sandbox Code Playgroud)

任何帮助/建议都会很棒.而且,我是Perl的新手,所以解释越多越好.谢谢!

directory perl

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

为什么在perl中打印两次?

所以我希望有人可以解释为什么当我运行以下代码时,它会在行的开头和结尾打印".link/output".我试图让它只在行尾打印.有什么想法吗?

#!/usr/local/bin/perl

use warnings;
use strict;
my $logfiles = $ARGV[0]; #file containing the list of all the log file names

my @logf = ();
my $i;

open (F2, "<", $logfiles);

while(<F2>){
    @logf = $_;
    foreach $i(@logf){
        print $_.".link/output";

    }
}
close F2;
Run Code Online (Sandbox Code Playgroud)

例如,如果我正在阅读的文件是:

cat
dog
Run Code Online (Sandbox Code Playgroud)

我想看看:

cat.link/output
dog.link/output
Run Code Online (Sandbox Code Playgroud)

但我得到的是:

.link/outputcat.link/output
.link/outputdog.link/output
Run Code Online (Sandbox Code Playgroud)

有人可以向我解释为什么会发生这种情况和/或如何解决这个问题?谢谢.

printing perl

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

标签 统计

perl ×4

buffer ×1

byte ×1

dictionary ×1

directory ×1

java ×1

ms-word ×1

printing ×1

python ×1

replace ×1

routing ×1

search ×1

udp ×1

vba ×1