Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.09.2009, 21:27   #1
segail
Форумчанин
 
Регистрация: 13.06.2009
Сообщений: 691
По умолчанию Открыть файл, паки текущего года

Здравствуйте. У меня вопрос по открытию файла с формы.

При сохранение файла, в директории Мои документы создается папка \V ГСМ 2009 в которой сохраняется файл.

Имя паки создается так “V ГСМ “& Sheets("Отчет") . Range("R1")
Значение ячейки (числовое значение года) Sheets("Отчет") . Range("R1") определяет и вводит сам пользователь.

Для наглядности имя папки выводится на имя формы, в виде кода
UserForm3.Caption = "V ГСМ " & Year(Format(Date, yyyy, , vbUseSystem)) 'текущий год

При изменение значения ячейки Sheets("Отчет") . Range("R1") будет создаваться другая папка.

Вопрос:
Как открыть файл (имя файла я введу сам),условно назовем текущей папки (так как создает пользователь, а не операционная система или код), кликом по кнопке папки текущего года?
При условии если эта папка есть и в ней находится файл, если не тог не другого нет условие я дополню сам
Вложения
Тип файла: rar primer.rar (79.2 Кб, 10 просмотров)
segail вне форума Ответить с цитированием
Старый 27.09.2009, 02:19   #2
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Немного запутано с задачей.Я понял,что у Вас проблема с определением пути к папке Мои документы.Если так,то смотрите вложение,в текстовое поле ввести имя файла,и нажать кнопку.В комментарии я написал о лишнем пробеле,в том случае документ будет не найденю
Вложения
Тип файла: rar primer.rar (63.1 Кб, 16 просмотров)
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 27.09.2009, 02:53   #3
segail
Форумчанин
 
Регистрация: 13.06.2009
Сообщений: 691
По умолчанию

То что надо только имя файл у меня уже известно
Правильно нет?
Код:
path = CreateObject("WScript.Shell").SpecialFolders("MyDocuments") & "\" & UserForm3.Caption & "\" & "АИ-76.xls"
Пробел в “V ГСМ “ чтобы отделить год. У меня так создается папка. Открывать наверное тоже можно?
И вот еще что. Открытие происходит с книги. Можно чтобы она после открытия файла закрывалась?

Последний раз редактировалось segail; 27.09.2009 в 02:59.
segail вне форума Ответить с цитированием
Старый 27.09.2009, 12:30   #4
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Правильно
Я для примера добавил текстбокс с вводом имени файла

Конечно можно закрыть книгу
Вложения
Тип файла: rar primer.rar (65.4 Кб, 12 просмотров)
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 27.09.2009, 12:54   #5
segail
Форумчанин
 
Регистрация: 13.06.2009
Сообщений: 691
По умолчанию

Есть еще один нюанс. Я в начале темы говорил о нем.
Как прописать условие, если папки нет и файла нет. Иначе выдается ошибка
Условие для объектов боле менее могу написать, а тут не знаю.
segail вне форума Ответить с цитированием
Старый 27.09.2009, 13:51   #6
segail
Форумчанин
 
Регистрация: 13.06.2009
Сообщений: 691
По умолчанию

Что то вроде этого.
Код:
Private Sub CommandButton1_Click()
' If  Если нет папки Or Если нет файла Then
    MsgBox "Данных по топливу нет.", vbInformation, "Информационное сообщение"   
 Else
    path = CreateObject("WScript.Shell").SpecialFolders("MyDocuments") & "\" & UserForm3.Caption & "\" & ComboBox_Marka.Text & ".xls"
    Workbooks.Open (path)
    ThisWorkbook.Close (False)
End If
End Sub

Последний раз редактировалось segail; 27.09.2009 в 14:08.
segail вне форума Ответить с цитированием
Старый 27.09.2009, 15:02   #7
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Давайте уточним.
При выполнении программы вы хотите сохранить файл в папке,если ее нет -надо создать.
Правильно?
Пишите лучше в личку ,или Асю
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 27.09.2009, 15:24   #8
segail
Форумчанин
 
Регистрация: 13.06.2009
Сообщений: 691
По умолчанию

Создавать ничего не надо. Папка создается другим кодом, и файл сохраняется другим кодом.
Вашим кодом только открывается файл или не открывается, если нет папки или файла.
segail вне форума Ответить с цитированием
Старый 27.09.2009, 15:31   #9
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Сейчас сделаем
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 27.09.2009, 15:53   #10
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Код:
Private Sub CommandButton1_Click()

path = CreateObject("WScript.Shell").SpecialFolders("MyDocuments") & "\" & UserForm3.Caption & "\" & TextBox3.Text

On Error Resume Next

Workbooks.Open (path)

 If Err.Number <> 0 Then
    MsgBox "Данных по топливу нет.", vbInformation, "Информационное сообщение"
 Else
   ThisWorkbook.Close (False)
End If


End Sub

Советую посмотреть на функции здесь
Многие из них подойдут и к VB
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу открыть файл tae1980 Microsoft Office Excel 9 15.01.2013 20:58
Как открыть файл? Xnarcotic Общие вопросы Delphi 4 14.06.2009 11:51
Открыть занятый файл pautina Win Api 4 27.01.2009 18:48
Сохранение текущего листа Excel в отдельный файл IpS Microsoft Office Excel 10 04.10.2008 13:45
Открыть файл dbClick-ом; Altera Помощь студентам 1 03.02.2008 15:40