powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Если макрос не нашел файла
10 сообщений из 10, страница 1 из 1
Если макрос не нашел файла
    #36319814
Strelec79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня макросом открывается файл, иногда бывает, что в название файла вносят изменение и тогда естественно макрос не может найти этот файл. Подскажите, пожалуйста, как прописать, чтоб в этом случае открывалось диалоговое окно и можно было самостоятельно указать макросу какой файл использовать.
Спасибо.
...
Рейтинг: 0 / 0
Если макрос не нашел файла
    #36319831
SimpleC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Примерно так:

Код: plaintext
1.
Application.Dialogs(xlDialogOpen).Show
                      wbname = ActiveWorkbook.Path & "/" & ActiveWorkbook.Name



:)
...
Рейтинг: 0 / 0
Если макрос не нашел файла
    #36319841
SimpleC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Strelec79, Упс... Написано файл, а не книга.. Пардон...
...
Рейтинг: 0 / 0
Если макрос не нашел файла
    #36319852
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SimpleC,

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Option Explicit

Sub openFile()
Dim filename As String

filename = "C:\test.xls"

On Error Resume Next
  Workbooks.Open (filename)
  If Err.Number <>  0  Then 'Значит отсутствует документ.
   filename = Application.GetOpenFilename("(*.*),*.*")
   Err.Clear
   Workbooks.Open (filename)
  End If
On Error GoTo  0 
End Sub


Если открывается файл, не экселевский, то вместо Workbooks.Open надо использовать соответствующую команду.
...
Рейтинг: 0 / 0
Если макрос не нашел файла
    #36319976
SimpleC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Djon Player, спасибо конечно :) Но это не мне нужно было. ;)
...
Рейтинг: 0 / 0
Если макрос не нашел файла
    #36320022
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SimpleCDjon Player, спасибо конечно :) Но это не мне нужно было. ;)
Да я заметил, но после отправки к сожалению уже нельзя поменять сообщения.
Неплохо было бы, чтобы отправленное сообщение можно было откорректировать или удалить хотя бы в течении нескольких минут, т.к. не смотря на предварительный просмотр, всё равно некоторые ошибки замечаются лишь после окончательной отправки.
...
Рейтинг: 0 / 0
Если макрос не нашел файла
    #36321525
Strelec79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SimpleC , Djon Player - всем спасибо
это я, извините, неточно написал, вообще то книгу, но думаю и для файла вообще то пригодится :)
сейчас буду пробовать...
...
Рейтинг: 0 / 0
Если макрос не нашел файла
    #36322389
Strelec79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Использовал код SimpleC, все работает, спасибо, но теперь возник противоположный вопрос – как закрыть эту книгу?
Объясняю: макрос у меня открывает нашу книгу, берет из нее данные и вставляет в другую книгу, т.е. активной остается другая книга, хочется макросом закрыть первую книгу только неизвестно ее имя.
У меня прописано:
Windows("test.xls").Activate
ActiveWorkbook.Close
Пробовал вместо ("test.xls") подставлять (filename) но ничего не получается.
Как надо, подскажите?
...
Рейтинг: 0 / 0
Если макрос не нашел файла
    #36322453
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так попробуй:
Код: plaintext
1.
Set wb = ThisWorkbook
wb.Close
или
Код: plaintext
1.
Set wb = ActiveWorkbook
wb.Close
...
Рейтинг: 0 / 0
Если макрос не нашел файла
    #36322464
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Option Explicit

Sub openFile()
 Dim filename As String
 Dim wb As Workbook

 filename = "C:\test.xls"

 On Error Resume Next
 Set wb = Workbooks.Open(filename)
 If Err.Number <>  0  Then 'Значит отсутствует документ.
  filename = Application.GetOpenFilename("(*.*),*.*")
  Err.Clear
  Set wb = Workbooks.Open(filename)
 End If
 On Error GoTo  0 

 wb.Close SaveChanges:=False 'Закрытие книги без сохранения.
End Sub
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Если макрос не нашел файла
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]