В настоящее время у меня есть диалоговое окно браузера, которое открывается и позволяет пользователю выбрать папку, в которой файлы doc/docx будут объединены в один файл. На данный момент он настроен на объединение файлов после закрытия кнопки «DialogResult.ok» в диалоговом окне браузера. как показано ниже:
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 = @"C:\";
diagBrowser.SelectedPath = selectedFolder;
// initial file path display
folderPath.Text = diagBrowser.SelectedPath;
if (DialogResult.OK == diagBrowser.ShowDialog())
{
// Grab the folder that was chosen
selectedFolder = diagBrowser.SelectedPath;
folderPath.Text = diagBrowser.SelectedPath;
}
private void combineButton_Click(object sender, EventArgs e)
{
string[] AllDocFolder = Directory.GetFiles(selectedFolder, "*.doc");
string outputFileName = (@"C:\Test\Merge\Combined.docx");
MsWord.Merge(AllDocFolder, outputFileName, true);
// Message displaying how many files are combined.
MessageBox.Show("A total of " + AllDocFolder.Length.ToString() + " documents have been merged", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
проблема, с которой я сталкиваюсь, заключается в том, что я хочу, чтобы «combineButton» объединял документы, а не «DialogResult.ok». Когда я копирую строки:
string[] AllDocFolder = Directory.GetFiles(selectedFolder, "*.doc");
string outputFileName = (@"C:\Test\Merge\Combined.docx");
MsWord.Merge(AllDocFolder, outputFileName, true);
в области CombineButton я получаю сообщение об ошибке: «имя 'selectedFolder' не существует в текущем контексте». Это может быть глупый вопрос, но есть ли быстрый способ исправить это?