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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.11.2009, 14:01   #1
Ант@н
Пользователь
 
Регистрация: 17.11.2009
Сообщений: 12
Печаль Не могу прописать путь GetObject

Мне нужно открыть папку с Excel документам. Я вроде прописал к ней путь, но мне выдаётся ошибка 432(объек с указаным путём и именем файла не существует). Вот то что я писал

Dim papka As Object
papka = GetObject("C:\Документы\Учебные материалы\Программирование\Vba\Дома шняя работа\Папки\ первая")


первая - это номер заключительной папки где хранится Excel документ.
Ант@н вне форума Ответить с цитированием
Старый 18.11.2009, 14:05   #2
dexterua
Пользователь
 
Регистрация: 16.11.2009
Сообщений: 24
По умолчанию

Может пробел перед первая убрать надо?
И в домашней работе тоже пробел...

Это так надо?)

Последний раз редактировалось dexterua; 18.11.2009 в 14:11.
dexterua вне форума Ответить с цитированием
Старый 18.11.2009, 14:21   #3
Ант@н
Пользователь
 
Регистрация: 17.11.2009
Сообщений: 12
По умолчанию

убрал ничего не изменилось...у меня есть подозрения что переменная papka должна быть каким то образом связана с "путём", но как связана я не знаю((
Ант@н вне форума Ответить с цитированием
Старый 18.11.2009, 14:24   #4
Ант@н
Пользователь
 
Регистрация: 17.11.2009
Сообщений: 12
По умолчанию

Дело в том что перед "первая" у меня и не было пробела, а в "домашней работе" пробел это случайный косяк, при исправлении ничего не изменилось(
Ант@н вне форума Ответить с цитированием
Старый 18.11.2009, 14:48   #5
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Вместо
Цитата:
papka =...
нужно использовать
Код:
Set papka = ...
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 18.11.2009, 15:01   #6
Ант@н
Пользователь
 
Регистрация: 17.11.2009
Сообщений: 12
По умолчанию

Sub Работа()
Dim papka As Object
Set papka = GetObject("C:\Документы\Учебные материалы\Программирование\Vba\Дома шняя работа\Папки\ первая")
End Sub

всё равно ошибку пишет(
Ант@н вне форума Ответить с цитированием
Старый 18.11.2009, 16:07   #7
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

А кто Вам сказал, что можно открыть папку через GetObject?

GetObject предназначен для других целей. Например:

Код:
Sub Пример()
    Dim file As Object
    Set file = GetObject("C:\Documents and Settings\Игорь\Рабочий стол\Книга1.xls")
    Debug.Print file.Name, file.Worksheets.Count
End Sub
Цитата:
Мне нужно открыть папку с Excel документам
Делается проще:
Код:
Sub Пример()
    ПутьКПапке = """C:\Documents and Settings\Игорь\Рабочий стол\пример"""
    CreateObject("wscript.shell").Run ПутьКПапке
End Sub
Обратите внимание, что, если в пути к папке присутствуют пробелы, надо в строке ПутьКПапке = ... ставить по 3 кавычки вместо одной.
EducatedFool вне форума Ответить с цитированием
Старый 18.11.2009, 16:31   #8
Ант@н
Пользователь
 
Регистрация: 17.11.2009
Сообщений: 12
По умолчанию

Спасибо это работает, но дело в том что нам нужно два способа. Вы бы не могли мне подсказать ещё один способ который позволит мне открыть папку с Ecxel документом возможно даже с помощью этой же функции но каким-нибудь другим способом. Заранее большое спасибо)
Ант@н вне форума Ответить с цитированием
Старый 18.11.2009, 16:39   #9
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
что нам нужно два способа
Зачем?????
Этот способ отлично работает. К чему изобретать другой способ?

Ну, раз так надо, пожалуйста:
Код:
Sub Пример2()
    ПутьКПапке = """C:\Documents and Settings\Игорь\Рабочий стол\пример"""
    Shell "explorer.exe " & ПутьКПапке, vbNormalFocus
End Sub
EducatedFool вне форума Ответить с цитированием
Старый 18.11.2009, 16:49   #10
Ант@н
Пользователь
 
Регистрация: 17.11.2009
Сообщений: 12
По умолчанию

Дело в том что у моего одногруппника сделано примерно таким же способом. Подумают что списал.((Понимаю что наверное глупо звучит.
Надеюсь вас не затруднит написать ещё один возможный способ, даже может с применением этой функции но другой.
Ант@н вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Аналог функции GetObject из VB для Делфи? Stilet Общие вопросы Delphi 1 29.04.2009 17:46
подскажите как прописать alexs2141 Помощь студентам 6 03.06.2008 14:32
Прописать в реестр Михаил Юрьевич Общие вопросы Delphi 4 02.02.2008 10:49
Как прописать в HKEY_CURRENT_USER ? UnD)eaD)Snake Общие вопросы Delphi 4 27.07.2007 21:52