Файл должен быть обновлен, но вместо этого сохраняется копия - PullRequest
0 голосов
/ 17 января 2019

извините, если название темы не идеально, ее трудно описать, так как я уже относительно близок к концу.

Мой макрос вызывает другой файл, копирует его, открывает копию, вставляет некоторые данные, а затем должен сохранить и закрыть его. К сожалению, файл копируется, копия копируется, и похоже, что данные вставлены. Затем появляется диалоговое окно «Сохранить как» и сообщает, что файл с таким именем уже существует. Я ввожу другое имя и сохраняю файл.

Теперь вместо оригинального и обновленного у меня есть 3 файла:

Оригинал, одна копия без каких-либо обновлений, кроме начального имени и вторая версия с обновлениями, но другое имя, которое я должен выбрать в диалоговом окне "Сохранить как".

Как получить так, чтобы существовал только старый и обновленный файл и изменения были сохранены в исходном файле (желательно без каких-либо подсказок / диалогов)

Я надеюсь, что объяснил проблему достаточно хорошо, пожалуйста, не стесняйтесь задавать вопросы, любая помощь приветствуется.

'select old file to copy, insert data from this workbook into the copy, save the copy.

PfadVorlageDatei = Application.GetOpenFilename("Exceldateien,*.xls*", 1, "Vorlage auswählen")

PfadNeueDatei = Application.GetSaveAsFilename(FileFilter:= _
"Exceldateien (*.xlsx), *.xlsx", Title:="Datei speichern", _
InitialFileName:="")

FileCopy PfadVorlageDatei, PfadNeueDatei

Set NeueDatei = Workbooks.Open(Filename:=PfadNeueDatei, ReadOnly:=True)

With ThisWorkbook.Worksheets("Test")
.Range(.Cells(8, 2), .Cells(100, 100)).Copy
End With

With NeueDatei.Worksheets("Test").Range("B8")
    .PasteSpecial xlPasteFormats
    .PasteSpecial xlPasteValues
End With

NeueDatei.Close SaveChanges:=True ' i guess here is the issue

1 Ответ

0 голосов
/ 17 января 2019

Как сказал @FunThomas, просто измените строку

Set NeueDatei = Workbooks.Open(Filename:=PfadNeueDatei, ReadOnly:=True)

до

Set NeueDatei = Workbooks.Open(Filename:=PfadNeueDatei, ReadOnly:=False)

работал отлично. Большое спасибо!

...