Добрый день, Подправьте пожалуйста код для Word 2010. Есть ошибка в строке Dim Wb As ActiveDocument. Как исправить чтобы заработал.
[vba]
Код
Sub Сохранить_с_датой() Dim Wb As ActiveDocument Dim WbName As String Dim iPath As String Dim iFileName As String Set Wb = ActiveDocument WbName = Wb.Name iPath = ActiveDocument.Path & "\" iFileName = Left(WbName, Len(WbName) - 4) + "_" + Format(Date, "yyyy/mm/dd") + ".docx" 'для проверки существования такого же файла If Dir(iPath + iFileName) <> "" Then MsgBox "Копия файла c датой " & Format(Date, "yyyy/mm/dd") & " в директории " & Chr(13) & iPath$ & " уже существует!", vbExclamation Exit Sub End If
Wb.SaveCopyAs (iPath + iFileName) End Sub
[/vba]
Добрый день, Подправьте пожалуйста код для Word 2010. Есть ошибка в строке Dim Wb As ActiveDocument. Как исправить чтобы заработал.
[vba]
Код
Sub Сохранить_с_датой() Dim Wb As ActiveDocument Dim WbName As String Dim iPath As String Dim iFileName As String Set Wb = ActiveDocument WbName = Wb.Name iPath = ActiveDocument.Path & "\" iFileName = Left(WbName, Len(WbName) - 4) + "_" + Format(Date, "yyyy/mm/dd") + ".docx" 'для проверки существования такого же файла If Dir(iPath + iFileName) <> "" Then MsgBox "Копия файла c датой " & Format(Date, "yyyy/mm/dd") & " в директории " & Chr(13) & iPath$ & " уже существует!", vbExclamation Exit Sub End If
_Boroda_, Спасибо за правку и теперь другая ошибка в строке [vba]
Код
Wb.SaveCopyAs (iPath + iFileName)
[/vba] Извиняюсь, что в этой теме другой вопрос, но уж хочется добить этот макрос. Как чувствовал, что могут быть и другие ошибки Надеюсь после исправления этой ошибки заработает как надо. Заранее благодарен.
_Boroda_, Спасибо за правку и теперь другая ошибка в строке [vba]
Код
Wb.SaveCopyAs (iPath + iFileName)
[/vba] Извиняюсь, что в этой теме другой вопрос, но уж хочется добить этот макрос. Как чувствовал, что могут быть и другие ошибки Надеюсь после исправления этой ошибки заработает как надо. Заранее благодарен.Otter
[/vba] Это не помогло. Подозреваю, что путь формируется неверно, но как исправить? Пробовал так:[vba]
Код
iPath = Application.ActiveDocument.Path & "\"
[/vba] тоже не работает. Добавил кусок кода:[vba]
Код
'Проверка, что активный файл сохранён на жёстком диске. ' Иначе не известно, по какому пути сохранять. If ActiveDocument.Path = "" Then MsgBox "Активный файл не сохранён на жёстком диске, поэтому не известно, " & _ "по какому пути сохранять копию.", vbExclamation End If
[/vba]Теперь ошибки по пути не должно быть если файл не сохранен. И опять не работает Я уже и в корень на диск С сохранял и имя файла одной цифрой делал, ничего не помогает. Ну где же ошибка?
krosav4ig, Спасибо за наводку, но где ошибка то. Пробовал так [vba]
[/vba] Это не помогло. Подозреваю, что путь формируется неверно, но как исправить? Пробовал так:[vba]
Код
iPath = Application.ActiveDocument.Path & "\"
[/vba] тоже не работает. Добавил кусок кода:[vba]
Код
'Проверка, что активный файл сохранён на жёстком диске. ' Иначе не известно, по какому пути сохранять. If ActiveDocument.Path = "" Then MsgBox "Активный файл не сохранён на жёстком диске, поэтому не известно, " & _ "по какому пути сохранять копию.", vbExclamation End If
[/vba]Теперь ошибки по пути не должно быть если файл не сохранен. И опять не работает Я уже и в корень на диск С сохранял и имя файла одной цифрой делал, ничего не помогает. Ну где же ошибка?Otter
Сообщение отредактировал Otter - Суббота, 25.08.2018, 05:51
Pelena, Спасибо Вы правы так все работает. InExSu, у Вас тоже все работает, только имя файла постоянно, а идея сохранять файл с исходным именем и добавление даты, чтобы видеть сохраненки свежие и старые.
Работает то работает, да не совсем корректно. Подправил так:[vba]
[/vba]Теперь в имени файла часы и минуты и по идее можно сохранять каждую минуту новый файл. Однако каждый новый файл при последующем сохранении в имени добавляет еще раз дату и тем самым увеличивает имя файла многократно добавляет дату.
Вопрос: как подправить код, чтобы каждая сохраненка текущей даты меняла в имени файла только часы и минуты. Естественно на следующий день опять дата меняется, а копии файла в течении дня имеют разные часы и минуты.
Pelena, Спасибо Вы правы так все работает. InExSu, у Вас тоже все работает, только имя файла постоянно, а идея сохранять файл с исходным именем и добавление даты, чтобы видеть сохраненки свежие и старые.
Работает то работает, да не совсем корректно. Подправил так:[vba]
[/vba]Теперь в имени файла часы и минуты и по идее можно сохранять каждую минуту новый файл. Однако каждый новый файл при последующем сохранении в имени добавляет еще раз дату и тем самым увеличивает имя файла многократно добавляет дату.
Вопрос: как подправить код, чтобы каждая сохраненка текущей даты меняла в имени файла только часы и минуты. Естественно на следующий день опять дата меняется, а копии файла в течении дня имеют разные часы и минуты.Otter
Сообщение отредактировал Otter - Суббота, 25.08.2018, 16:05