現在、単語をマージするプログラムがあります。 docファイルを一緒にユーザー入力を介して。ユーザーが入力フォルダーと出力先を選択すると、文書が結合され、結合されたファイルの総数が表示されます。ここにコードの例があります。現時点ではstring.countを使用して表示されるファイル数の更新に関する問題
MessageBox.Show("A total of " + sourceFiles.Count() + " documents have been merged",
"Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
完全にプログラムとstring.count仕事は、しかし、私が持っている問題は、私が入力されたフォルダの内容を更新したり、プログラムしながら、入力フォルダ内と同じになるように出力フォルダに選択したときであります実行中です
例:希望する入出力フォルダを選択してプログラムを正常に実行すると、最終的に「Xドキュメントの合計がマージされました」というメッセージボックスが表示されますファイルが作成されました。
もう1つのファイルを入力フォルダにドラッグしてすぐにもう一度「マージ」ボタンを押すと、追加のファイルがそのフォルダに挿入されているにもかかわらず、「Xドキュメントのマージ済み」の合計は同じになります。プログラムは引き続き結合ファイルを作成しますが、string.count totalは新しく追加された文書を認識しません。プログラムがフォルダの合計コンテンツを更新しないかのようです。
この問題を修正するための提案はありますか?それは少し不便ですが、私はそれに対処することが大好きです。
更新情報:
、ソースファイルは、ユーザーがフォルダのブラウザダイアログを使用して目的のフォルダを選択したときしかし、その呼ばprivate string []
として宣言されています。 mergeコマンドは、その後、(フォルダ内のドキュメントの合計数)を、ソースファイルを結合する、と呼ばれる
private void browseButton_Click(object sender, EventArgs e)
{
FolderBrowserDialog diagBrowser = new FolderBrowserDialog();
diagBrowser.Description = "Select a folder which contains files needing combined...";
// Default folder, altered when the user selects folder of choice
string selectedFolder = "";
diagBrowser.SelectedPath = selectedFolder;
// initial file path display
folderPath.Text = diagBrowser.SelectedPath;
// 'OK' button being confirmed on the popup menu
if (DialogResult.OK == diagBrowser.ShowDialog())
{
// Grab the folder that was chosen
selectedFolder = diagBrowser.SelectedPath;
folderPath.Text = diagBrowser.SelectedPath;
sourceFiles = Directory.GetFiles(selectedFolder, "*.doc");
}
、日付/時刻やページ区切りを含む出力ファイル名のファイル間の
MsWord.Merge(sourceFiles, outputFileName, pageBreaker);
'sourceFiles'とは何ですか? – SLaks
もう少しコードが必要です。sourceFilesが宣言されています(場所など)。あなたはそれを表示する前にカウントをリセットできますか? – JonH
ユーザが入力フォルダを選択したときにマージボタンを押す代わりに入力フォルダからすべてのファイルのリストを取得 – rashfmnb