Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Диалоговое окно для изменения адреса пути в процедуре Privat - Страница 2 - Мир MS Excel

  • Страница 2 из 2
  • «
  • 1
  • 2
Модератор форума: китин, _Boroda_, DrMini  
Диалоговое окно для изменения адреса пути в процедуре Privat
SLAVICK Дата: Четверг, 24.09.2015, 18:23 | Сообщение № 21
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
off_top
Иногда лучшее- враг хорошего.
Как показывает практика - лучше не давать много свободы пользователям. Сегодня у него будет папка тут - завтра там а потом запутается и будет винить Вас в ошибках :D
Правильно делаете, что стандартизируете условия :)


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщениеoff_top
Иногда лучшее- враг хорошего.
Как показывает практика - лучше не давать много свободы пользователям. Сегодня у него будет папка тут - завтра там а потом запутается и будет винить Вас в ошибках :D
Правильно делаете, что стандартизируете условия :)

Автор - SLAVICK
Дата добавления - 24.09.2015 в 18:23
den45444 Дата: Четверг, 24.09.2015, 19:58 | Сообщение № 22
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 225
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
SLAVICK, Ваш вариант с ячейкой очень кстати, но есть но...
Но как сделать правильнее?
Ведь например есть нюансы:
1. Активный лист может распечатываться и данная ячейка будет мешать.
2. Активный лист может быть большой таблицей

Короче, надо как-то независимо от шаблонов
Нельзя ли с другой независимой книги выдергивать ячейку? и положить эту книгу в ту же папку шаблоны.
Такое можно устроить?
 
Ответить
СообщениеSLAVICK, Ваш вариант с ячейкой очень кстати, но есть но...
Но как сделать правильнее?
Ведь например есть нюансы:
1. Активный лист может распечатываться и данная ячейка будет мешать.
2. Активный лист может быть большой таблицей

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

Автор - den45444
Дата добавления - 24.09.2015 в 19:58
RAN Дата: Четверг, 24.09.2015, 21:01 | Сообщение № 23
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Нельзя ли с другой независимой книги выдергивать ячейку?

Можно. Но не нужно.
Надстройка тоже книга Excel. И у нее тоже есть минимум 1 лист, и на этот лист совершенно свободно можно помещять данные.


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
Нельзя ли с другой независимой книги выдергивать ячейку?

Можно. Но не нужно.
Надстройка тоже книга Excel. И у нее тоже есть минимум 1 лист, и на этот лист совершенно свободно можно помещять данные.

Автор - RAN
Дата добавления - 24.09.2015 в 21:01
den45444 Дата: Четверг, 24.09.2015, 21:08 | Сообщение № 24
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 225
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
И у нее тоже есть минимум 1 лист, и на этот лист совершенно свободно можно помещять данные.

Не понял. Можно пример?
 
Ответить
Сообщение
И у нее тоже есть минимум 1 лист, и на этот лист совершенно свободно можно помещять данные.

Не понял. Можно пример?

Автор - den45444
Дата добавления - 24.09.2015 в 21:08
RAN Дата: Четверг, 24.09.2015, 21:15 | Сообщение № 25
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Не понял что???
Пример чего?
Или у вас надстройка com?
Если нет, то как вы ее создаете?
[vba]
Код
переменная = Thisworkbook.Sheets(1).Range("A1").Value
[/vba]
будет одинаково работать и в xls, и в xla (xlsm, xlsb, xlam)


Быть или не быть, вот в чем загвоздка!

Сообщение отредактировал RAN - Четверг, 24.09.2015, 21:16
 
Ответить
СообщениеНе понял что???
Пример чего?
Или у вас надстройка com?
Если нет, то как вы ее создаете?
[vba]
Код
переменная = Thisworkbook.Sheets(1).Range("A1").Value
[/vba]
будет одинаково работать и в xls, и в xla (xlsm, xlsb, xlam)

Автор - RAN
Дата добавления - 24.09.2015 в 21:15
SLAVICK Дата: Четверг, 24.09.2015, 21:40 | Сообщение № 26
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
Хотя RAN, уже все написал - повторю основные тезисы:
[vba]
Код
Thisworkbook.Sheets(1).[j1]
[/vba]
Thisworkbook - это значит книга в которой находится исполняющий макрос - в Вашем случае надстройка.
Надстройка - это та же книга, но "невидимая" в списке книг, и в ней тоже может быть н-ное количество листов. :D

Если нет, то как вы ее создаете?

Скорее всего - это Personal - которая создается автоматом :)


Иногда все проще чем кажется с первого взгляда.

Сообщение отредактировал SLAVICK - Четверг, 24.09.2015, 21:41
 
Ответить
СообщениеХотя RAN, уже все написал - повторю основные тезисы:
[vba]
Код
Thisworkbook.Sheets(1).[j1]
[/vba]
Thisworkbook - это значит книга в которой находится исполняющий макрос - в Вашем случае надстройка.
Надстройка - это та же книга, но "невидимая" в списке книг, и в ней тоже может быть н-ное количество листов. :D

Если нет, то как вы ее создаете?

Скорее всего - это Personal - которая создается автоматом :)

Автор - SLAVICK
Дата добавления - 24.09.2015 в 21:40
den45444 Дата: Пятница, 25.09.2015, 20:20 | Сообщение № 27
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 225
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
SLAVICK, RAN, Благодарю за помощь.

Остался один вопрос по этой же теме.

Как задать условие, если пользователь выбрал не ту папку?

Папку которую он должен выбрать называется ШАБЛОНЫ.
 
Ответить
СообщениеSLAVICK, RAN, Благодарю за помощь.

Остался один вопрос по этой же теме.

Как задать условие, если пользователь выбрал не ту папку?

Папку которую он должен выбрать называется ШАБЛОНЫ.

Автор - den45444
Дата добавления - 25.09.2015 в 20:20
RAN Дата: Пятница, 25.09.2015, 20:35 | Сообщение № 28
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Как задать условие, если пользователь выбрал не ту папку?

Ну, батенька, и вопрос!
Это же ваш самый большой секрет!
Где, кто и что выбирает?
Оно, конечно, можно и еще на пару страниц порасписаться. Всеж тяпница. :)


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
Как задать условие, если пользователь выбрал не ту папку?

Ну, батенька, и вопрос!
Это же ваш самый большой секрет!
Где, кто и что выбирает?
Оно, конечно, можно и еще на пару страниц порасписаться. Всеж тяпница. :)

Автор - RAN
Дата добавления - 25.09.2015 в 20:35
den45444 Дата: Пятница, 25.09.2015, 20:37 | Сообщение № 29
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 225
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Хорошо.
В папке есть постоянный файл "Договор.xlsx"
Можно через него связать условие?


Сообщение отредактировал Serge_007 - Пятница, 25.09.2015, 21:35
 
Ответить
СообщениеХорошо.
В папке есть постоянный файл "Договор.xlsx"
Можно через него связать условие?

Автор - den45444
Дата добавления - 25.09.2015 в 20:37
den45444 Дата: Пятница, 25.09.2015, 20:47 | Сообщение № 30
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 225
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Может так?
[vba]
Код

If Len(Dir$(Thisworkbook.Sheets(1).[j1] & "Договор.xlsx"))>0 Then
MsgBox "...
[/vba]
 
Ответить
СообщениеМожет так?
[vba]
Код

If Len(Dir$(Thisworkbook.Sheets(1).[j1] & "Договор.xlsx"))>0 Then
MsgBox "...
[/vba]

Автор - den45444
Дата добавления - 25.09.2015 в 20:47
RAN Дата: Пятница, 25.09.2015, 20:53 | Сообщение № 31
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
А может так?
[vba]
Код
If a<>b Then MsgBox "Да пошел ты!"
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеА может так?
[vba]
Код
If a<>b Then MsgBox "Да пошел ты!"
[/vba]

Автор - RAN
Дата добавления - 25.09.2015 в 20:53
den45444 Дата: Пятница, 25.09.2015, 21:10 | Сообщение № 32
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 225
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010


Что значит а и b ?
 
Ответить
Сообщение

Что значит а и b ?

Автор - den45444
Дата добавления - 25.09.2015 в 21:10
RAN Дата: Пятница, 25.09.2015, 21:18 | Сообщение № 33
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
"А" и "Б" сидели на трубе.
А что каждый из них значит, вам лучше знать. Возможно
Len(Dir$(Thisworkbook.Sheets(1).[j1] & "Договор.xlsx"))>0
, возможно нет.


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение"А" и "Б" сидели на трубе.
А что каждый из них значит, вам лучше знать. Возможно
Len(Dir$(Thisworkbook.Sheets(1).[j1] & "Договор.xlsx"))>0
, возможно нет.

Автор - RAN
Дата добавления - 25.09.2015 в 21:18
den45444 Дата: Понедельник, 28.09.2015, 20:02 | Сообщение № 34
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 225
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Всем спасибо. Задача решена.

[vba]
Код
Sub Выбор_папки_Шаблоны()
       Dim oShell  As Object, oFolder As Object
       Set oShell = CreateObject("Shell.Application")
           If Len(Dir$(ThisWorkbook.Sheets(1).[j1] & "\" & "ФАЙЛ НЕ УДАЛЯТЬ.xlsx")) > 0 Then Exit Sub
            Else
     MsgBox "Путь к папке Шаблонов еще не указан (или папка перенесена в другое место)"
     Set oFolder = oShell.BrowseForFolder(0, "Укажите расположение папки ШАБЛОНЫ", 0)
     If oFolder Is Nothing Then ' пользователь передумал показывать папку
       MsgBox "Путь к папке не указан! При желании указать папку, перезапустите Эксель"
       Exit Sub
     End If
     ThisWorkbook.Sheets(1).[j1] = oFolder.Self.Path ' Записываем его в нужную ячейку
      
     If Len(Dir$(ThisWorkbook.Sheets(1).[j1] & "\" & "ФАЙЛ НЕ УДАЛЯТЬ.xlsx")) > 0 Then 'Повторная проверка
     ThisWorkbook.Save 'Сохраняем адрес указанной папки
        Else
        MsgBox "Путь к папке указан не верно! При желании указать снова, перезапустите Эксель"
     End If
  End If
End Sub
[/vba]
 
Ответить
СообщениеВсем спасибо. Задача решена.

[vba]
Код
Sub Выбор_папки_Шаблоны()
       Dim oShell  As Object, oFolder As Object
       Set oShell = CreateObject("Shell.Application")
           If Len(Dir$(ThisWorkbook.Sheets(1).[j1] & "\" & "ФАЙЛ НЕ УДАЛЯТЬ.xlsx")) > 0 Then Exit Sub
            Else
     MsgBox "Путь к папке Шаблонов еще не указан (или папка перенесена в другое место)"
     Set oFolder = oShell.BrowseForFolder(0, "Укажите расположение папки ШАБЛОНЫ", 0)
     If oFolder Is Nothing Then ' пользователь передумал показывать папку
       MsgBox "Путь к папке не указан! При желании указать папку, перезапустите Эксель"
       Exit Sub
     End If
     ThisWorkbook.Sheets(1).[j1] = oFolder.Self.Path ' Записываем его в нужную ячейку
      
     If Len(Dir$(ThisWorkbook.Sheets(1).[j1] & "\" & "ФАЙЛ НЕ УДАЛЯТЬ.xlsx")) > 0 Then 'Повторная проверка
     ThisWorkbook.Save 'Сохраняем адрес указанной папки
        Else
        MsgBox "Путь к папке указан не верно! При желании указать снова, перезапустите Эксель"
     End If
  End If
End Sub
[/vba]

Автор - den45444
Дата добавления - 28.09.2015 в 20:02
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2026 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!