Экспорт в скопированный файл - PullRequest
0 голосов
/ 19 декабря 2018

Сначала я скажу вам, что я хочу сделать, возможно, это облегчит поиск решения.Я хочу экспортировать файл (после его изменения) в файл, который использует макросы и т. Д. Самостоятельно.Проблема в том, что я не могу удалить указанный файл.

Мое текущее решение состоит в следующем: я использую диалог «открыть файл», чтобы пользователь сказал мне Excel, который должен использоваться в качестве шаблона.Затем VBA должен скопировать этот файл (назначение снова указывается в диалоговом окне сохранения файла), а затем удалить используемый диапазон в новом файле и скопировать значения в этом новом файле.

Таким образом, задействовано 3 файла,

  • A: Текущий файл с измененными данными и макрос, который я сейчас выполняю.
  • B: Файл шаблона с макросами.
  • C: Новый файл, который долженбыть создан с помощью макросов из B и данных из A

Пока у меня есть этот код, который открывает B и копирует его (я думаю).Моя основная проблема заключается в том, как мне получить доступ к недавно созданному файлу.Я предполагаю, что могу как-то сохранить его как переменную.Что-то вроде X = Path the user just selected in the save file dialog?Удаление и вставка данных впоследствии должно быть довольно простым, я думаю / надеюсь.

Я надеюсь, что вы, ребята, можете мне помочь, и большое спасибо заранее:)

Вот мой код:

Dim StandardPfad As String
Dim ExportBlatt As Worksheet
Dim NeueDatei As Workbook


StandardPfad = "C:\XYZ"

'   ExportBlatt = Worksheets("Blatt1")

Set NeueDatei = Workbooks.Add
ThisWorkbook.Sheets("Blatt1").Copy Before:=NeueDatei.Sheets(1)
Application.DisplayAlerts = False
Sheets(2).Delete
Application.DisplayAlerts = True

' displays the save file dialog
StandardPfad = Application.GetSaveAsFilename(FileFilter:= _
        "Exceldateien (*.xlsx), *.xlsx", Title:="Vorlagen Datei auswählen", _
        InitialFileName:="")

NeueDatei.SaveCopyAs Filename:="C:\Test\CopyBook.xls" 'Hier Speicherort angeben

NeueDatei.Close savechanges:=False

1 Ответ

0 голосов
/ 19 декабря 2018

Либо я что-то упустил в вашем вопросе, либо ... Разве этого StandardPfad недостаточно?

Требуется немного больше обработки ошибок, если пользователь отменяет выбор, но это ваше X = Path the user just selected in the save file dialog

' displays the save file dialog
StandardPfad = Application.GetSaveAsFilename(FileFilter:= _
    "Exceldateien (*.xlsx), *.xlsx", Title:="Vorlagen Datei auswählen", _
    InitialFileName:="")

NeueDatei.SaveCopyAs Filename:=StandardPfad
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...