предложить пользователю открыть книгу и сохранить как новую книгу - PullRequest
0 голосов
/ 25 апреля 2018

попробуйте предложить пользователю открыть рабочую книгу, а затем внести изменения в нее и сохранить как новую рабочую книгу по тому же пути, что и открытая пользователем книга. В то же время, оставьте пользователя открытой рабочей книгой, не сохраняйте / не изменяйте и закрывайте ее.

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

Sub saveas()

R = Application.GetOpenFilename _
(Title:="Please choose file", _
FileFilter:="Excel Files *.xls*; *.csv (*.xls*; *.csv),")
Set extwbk = Workbooks.Open(R)
If R = False Then
MsgBox "No file selected. Please click run again and select file.", 
vbExclamation, "Sorry!"
Exit Sub
Else
End If

'a = extwbk.Worksheets.Count
'For i = 1 To a
'will input code there that make change on the open workbook 
'Next i
'After change process complete,  save the changed workbook as a new workbook in the 
same path of the  openworkbook and then keep the origin openworkbook 
unchange and then close it



Set extwbk = ActiveWorkbook
ActiveWorkbook.Sheets.Copy
ActiveWorkbook.saveas Filename:=extwbk.Path & "\log.xlsx"
   ActiveWorkbook.Close savechanges:=True
extwbk.Close savechanges:=False


End Sub

1 Ответ

0 голосов
/ 25 апреля 2018

Я думаю, вам нужно изменить последнюю строку с

ActiveWorkbook.Close savechanges:=False

на

ActiveWorkbook.Close savechanges:=True
extwbk.Close savechanges:=False

В противном случае, я думаю, что когда вы сохраняете новую книгу, используя ActiveWorkbook.saveas - она ​​сразу становитсяактивная рабочая тетрадь

...