Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Сохранение файла

1.9K
01 апреля 2004 года
DKef
44 / / 11.03.2003
Необходимо чтобы при сохранении файла проверялось его имя, и, если равно к примеру "1.xls" - сообщение типа нельзя сохранить файл с таким именем, иначе все нормуль, т.е. сохраняется.

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If ActiveWorkbook.SaveAs("1.xls") Then
a = MsgBox("Невозможно сохранить файл!", vbOKOnly)
If a = vbOK Then Cancel = True
End Sub

Этот код проверяет имя, и не сохраняет, но и невозможно вызвать стандартное окно "SaveAs", потому как "1.хлс" - имя по умолчанию!
319
01 апреля 2004 года
xelos
577 / / 27.02.2003
Цитата:
Originally posted by DKef
Необходимо чтобы при сохранении файла проверялось его имя, и, если равно к примеру "1.xls" - сообщение типа нельзя сохранить файл с таким именем, иначе все нормуль, т.е. сохраняется.

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If ActiveWorkbook.SaveAs("1.xls") Then
a = MsgBox("Невозможно сохранить файл!", vbOKOnly)
If a = vbOK Then Cancel = True
End Sub

Этот код проверяет имя, и не сохраняет, но и невозможно вызвать стандартное окно "SaveAs", потому как "1.хлс" - имя по умолчанию!


непонятно почему ты не можешь вызвать стандартный диалог? какую ошибку он тебе выдает?

1.9K
01 апреля 2004 года
DKef
44 / / 11.03.2003
Цитата:
Originally posted by xelos

непонятно почему ты не можешь вызвать стандартный диалог? какую ошибку он тебе выдает?


Да просто я не знаю как его вызвать :)

3.7K
01 апреля 2004 года
dedtolya
41 / / 12.10.2003
Цитата:
Originally posted by DKef
Необходимо чтобы при сохранении файла проверялось его имя, и, если равно к примеру "1.xls" - сообщение типа нельзя сохранить файл с таким именем, иначе все нормуль, т.е. сохраняется.

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If ActiveWorkbook.SaveAs("1.xls") Then
a = MsgBox("Невозможно сохранить файл!", vbOKOnly)
If a = vbOK Then Cancel = True
End Sub

Этот код проверяет имя, и не сохраняет, но и невозможно вызвать стандартное окно "SaveAs", потому как "1.хлс" - имя по умолчанию!



Может сначала проверить
Dim fName As String, bName As String
bName = "Книга6.xls"' или другое
fName = ThisWorkbook.Path & "\" & bName
If Dir(fName) = bName Then
MsgBox "yes"
Else: MsgBox "No"

Для вызова диалога
Application.GetSaveAsFilename
Успехов dedtolya

End If

1.9K
05 апреля 2004 года
DKef
44 / / 11.03.2003
АААааааааа!!!
Как я только уже не пробовал!! Чего я только не делал!!!
Ну не работает и все!
Проверять - проверяет, если условие верно - не сохраняет, иначе вызывается стандартный диалог! Но после того как ввел новое имя файла сохраняет один (даже не знаю чего один) с именем по умолчанию!
Мужики!
Прошу! Дайте готовый примерчик, а потом скажу что я делал неправильно, обещаю!
Итак, еще раз постановка задачи:
Есть книга с именем temp.xls
Необходимо при попытке сохранения этой книги проверка на имя, т.е. если имя книги равно "temp.xls" - кричим: "Отдыхай, перец!" и не сохраняем, вызывая диалог "Сохранить как", иначе, если имя не равно "temp.xls" просто сохраняем и все...
Помогите, кто знает - это пять минут примерчик набросать, а то я парюсь в сумме часа три уже... :)
Заранее благодарен,
3.7K
05 апреля 2004 года
dedtolya
41 / / 12.10.2003
Цитата:
Originally posted by DKef
АААааааааа!!!
Как я только уже не пробовал!! Чего я только не делал!!!
Ну не работает и все!
Проверять - проверяет, если условие верно - не сохраняет, иначе вызывается стандартный диалог! Но после того как ввел новое имя файла сохраняет один (даже не знаю чего один) с именем по умолчанию!
Мужики!
Прошу! Дайте готовый примерчик, а потом скажу что я делал неправильно, обещаю!
Итак, еще раз постановка задачи:
Есть книга с именем temp.xls
Необходимо при попытке сохранения этой книги проверка на имя, т.е. если имя книги равно "temp.xls" - кричим: "Отдыхай, перец!" и не сохраняем, вызывая диалог "Сохранить как", иначе, если имя не равно "temp.xls" просто сохраняем и все...
Помогите, кто знает - это пять минут примерчик набросать, а то я парюсь в сумме часа три уже... :)
Заранее благодарен,



Sub fSaveAs()
Dim fName As String, bName As String
Dim NewBook As Workbook
Dim NewName As String

Set NewBook = Workbooks.Add
bName = "temp.xls"

fName = ThisWorkbook.Path & "\" & bName
If Dir(fName) = bName Then
MsgBox "Отдыхай, перец!"
Do
NewName = Application.GetSaveAsFilename
On Error GoTo oshibka
Loop Until NewName <> ""
NewBook.SaveAs (NewName)
Else
NewBook.SaveAs Filename:=fName
End If

Exit Sub
oshibka:
MsgBox "Неверное имя файла"
End Sub


Успехов dedtolya

1.9K
13 апреля 2004 года
DKef
44 / / 11.03.2003
Цитата:
Originally posted by dedtolya


Sub fSaveAs()
Dim fName As String, bName As String
Dim NewBook As Workbook
Dim NewName As String

Set NewBook = Workbooks.Add
bName = "temp.xls"

fName = ThisWorkbook.Path & "\" & bName
If Dir(fName) = bName Then
MsgBox "Отдыхай, перец!"
Do
NewName = Application.GetSaveAsFilename
On Error GoTo oshibka
Loop Until NewName <> ""
NewBook.SaveAs (NewName)
Else
NewBook.SaveAs Filename:=fName
End If

Exit Sub
oshibka:
MsgBox "Неверное имя файла"
End Sub


Успехов dedtolya



Спасибо! Все пытаюсь разобраться...
Наверное я не совсем точно поставил задачу, пробую еще раз :)
В общем, необходимо чтобы пересохранялся именно файл temp.xls, т.е. исходный файл, в котором по умолчанию уже есть кое-какая инфа (это одно из главных условий), а не создавалась новая книга.
И еще. При нажатии стандартных кнопарей типа "Сохранить", а значит используя Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean), если имя равно "темп.хлс" - вызывалась другая форма, где необходимо заполнить несколько полей, и уже после нажатия кнопки "ОК" сохраняла в нужную директорию с указанным именем, а если имя не уже не равно "темп" (уже сохраняли) - просто сохранение без вызова форм.
И второе условие. При нажатии "Сохранить как" - если имя равно "темп" - вызов моей формы, иначе, если не равно значит стандартный диалог.
Решился выложить свой файлик, что-то я там намутил, но про сохрание ни строки, за исключением формы для сохранения :)
Заранее благодарен!

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог