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

Вход

Регистрация

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

 

= Мир MS Excel/Добавление комментариев в архив RAR (Excel и OutLook) - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, китин  
Добавление комментариев в архив RAR (Excel и OutLook)
SVM Дата: Пятница, 01.09.2017, 09:09 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Уважаемые!
Не знаю где искать и у кого спросить. Проблема следующая:
В отдельном каталоге D:\ARC лежат архиватор RAR.exe, архив ARC.rar, файл с комментариями COMMENT.txt
Из Excel запускаю макрос, содержащий:
[vba]
Код
GetArhive = Shell("D:\ARC\Rar.exe C -zD:\ARC\COMMENT.txt D:\ARC\ARC.rar", vbHide)
[/vba]
Комментарии из текстового файла успешно вставляются в архив.
Из OutLook делаю тоже самое. Но ничего не происходит.
Аналогичная картина получается, если вставлять комментарии через:
[vba]
Код
Set objShell = CreateObject("Wscript.Shell")
objShell.Run ...........
[/vba]

Помогите пожалуйста разобраться. В чем различие Екселя и Аутлука в этом процессе? Может какие настройки или библиотеки нужно подключить?

PS
Задавал вопрос на Планете (http://www.planetaexcel.ru), но ответа нет. Видимо там только Excel


Сообщение отредактировал SVM - Пятница, 01.09.2017, 09:18
 
Ответить
СообщениеУважаемые!
Не знаю где искать и у кого спросить. Проблема следующая:
В отдельном каталоге D:\ARC лежат архиватор RAR.exe, архив ARC.rar, файл с комментариями COMMENT.txt
Из Excel запускаю макрос, содержащий:
[vba]
Код
GetArhive = Shell("D:\ARC\Rar.exe C -zD:\ARC\COMMENT.txt D:\ARC\ARC.rar", vbHide)
[/vba]
Комментарии из текстового файла успешно вставляются в архив.
Из OutLook делаю тоже самое. Но ничего не происходит.
Аналогичная картина получается, если вставлять комментарии через:
[vba]
Код
Set objShell = CreateObject("Wscript.Shell")
objShell.Run ...........
[/vba]

Помогите пожалуйста разобраться. В чем различие Екселя и Аутлука в этом процессе? Может какие настройки или библиотеки нужно подключить?

PS
Задавал вопрос на Планете (http://www.planetaexcel.ru), но ответа нет. Видимо там только Excel

Автор - SVM
Дата добавления - 01.09.2017 в 09:09
_Boroda_ Дата: Пятница, 01.09.2017, 09:13 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16719
Репутация: 6505 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Код макросов нужно обрамлять спецтегами - Правка поста - выделить код - кнопка #
И ссылку на Планету нужно дать (зачем нам ссылка на саму Планету, мы все ее знаем, нужно ссылку на тему с этим вопросом на Планете, чтобы посмотреть, что там отвечали :D :D :D
И до кучи прочитайте Правила форума, там еще много интересного написано


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеКод макросов нужно обрамлять спецтегами - Правка поста - выделить код - кнопка #
И ссылку на Планету нужно дать (зачем нам ссылка на саму Планету, мы все ее знаем, нужно ссылку на тему с этим вопросом на Планете, чтобы посмотреть, что там отвечали :D :D :D
И до кучи прочитайте Правила форума, там еще много интересного написано

Автор - _Boroda_
Дата добавления - 01.09.2017 в 09:13
Pelena Дата: Пятница, 01.09.2017, 11:15 | Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 19407
Репутация: 4556 ±
Замечаний: ±

Excel 365 & Mac Excel
Полного кода нет, можно только попробовать угадать
В чем различие Екселя и Аутлука в этом процессе

Посмотрите эту тему
Это не Ваш конкретный вопрос, но там есть интересное замечание по поводу
Везде, где мы работаем с приложением без передаваемых в макрос параметров напрямую (которые в скобках после названия) - мы должны создать ссылку на приложение


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеПолного кода нет, можно только попробовать угадать
В чем различие Екселя и Аутлука в этом процессе

Посмотрите эту тему
Это не Ваш конкретный вопрос, но там есть интересное замечание по поводу
Везде, где мы работаем с приложением без передаваемых в макрос параметров напрямую (которые в скобках после названия) - мы должны создать ссылку на приложение

Автор - Pelena
Дата добавления - 01.09.2017 в 11:15
SVM Дата: Пятница, 01.09.2017, 14:18 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Полного кода нет, можно только попробовать угадать


Склоняюсь к тому, что Аутлук плохо чистит использованные объекты по инструкции типа [vba]
Код
Set objShell=nothing
[/vba]
Так как когда закрываю все MS программы, затем открываю OUTLOOK, то один раз срабатывает нормально. Нестабильно все как-то...
дальше буду рыть...
 
Ответить
Сообщение
Полного кода нет, можно только попробовать угадать


Склоняюсь к тому, что Аутлук плохо чистит использованные объекты по инструкции типа [vba]
Код
Set objShell=nothing
[/vba]
Так как когда закрываю все MS программы, затем открываю OUTLOOK, то один раз срабатывает нормально. Нестабильно все как-то...
дальше буду рыть...

Автор - SVM
Дата добавления - 01.09.2017 в 14:18
SVM Дата: Среда, 06.09.2017, 15:00 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
когда закрываю все MS программы, затем открываю OUTLOOK, то один раз срабатывает нормально. Нестабильно все как-то...
дальше буду рыть...


При вновь открытом OUTLOOK срабатывает только один раз (или несколько раз). Вроде все очищаю. А есть ли какая команда, которая вычищает всю грязь из OUTLOOK?
Код такой:
[vba]
Код

Sub TestArc()
  ' Путь к архиватору RAR.exe
  Const goRAR As String = "D:\ARC\"
  
  ' Рабочий каталог, где лежат *.xl* - файлы для архива,
  ' файл для вставки кометария в архив
  ' и где создается сам архив ARC.rar
  Const dTMP As String = "D:\ARC\"
  
  Dim wShell As Object
  If Dir(dTMP & "ARC.rar") <> "" Then Kill dTMP & "ARC.rar"
  stCMDarc = goRAR & "RAR.exe A -ep " & dTMP & "ARC.rar " & dTMP & "*.xl* "
  stCMDcom = goRAR & "RAR.exe C -z" & dTMP & "ZZ.txt " & dTMP & "ARC.rar"
  MsgBox ("Инициализация прошла.")
  
  'Первый шаг: создаем сам архив ARC.rar. Все работает и архив создается
  Set wShell = CreateObject("Wscript.Shell")
  L = wShell.Run(stCMDarc, 1, True) 'Тут False тоже пробовал
  MsgBox ("Архив создан? Код = " & L)
  Set wShell = Nothing
  
  'Второй шаг: пытаемся вставить коментарии из ZZ.txt
  'Ничего не вставляется, хотя при запуске stCMDcom из командной строки все срабатывает
  Set wShell = CreateObject("Wscript.Shell")
  L = wShell.Run(stCMDcom, 1, True) 'Тут False тоже пробовал
  MsgBox ("Коментарий добавлен? Код = " & L)
  Set wShell = Nothing
End Sub
[/vba]

Уж и не знаю, что смотреть надо :(
PS.
Задавал вопрос на Планете, но ответа нет:
http://www.planetaexcel.ru/forum....e788942


Сообщение отредактировал SVM - Среда, 06.09.2017, 19:24
 
Ответить
Сообщение
когда закрываю все MS программы, затем открываю OUTLOOK, то один раз срабатывает нормально. Нестабильно все как-то...
дальше буду рыть...


При вновь открытом OUTLOOK срабатывает только один раз (или несколько раз). Вроде все очищаю. А есть ли какая команда, которая вычищает всю грязь из OUTLOOK?
Код такой:
[vba]
Код

Sub TestArc()
  ' Путь к архиватору RAR.exe
  Const goRAR As String = "D:\ARC\"
  
  ' Рабочий каталог, где лежат *.xl* - файлы для архива,
  ' файл для вставки кометария в архив
  ' и где создается сам архив ARC.rar
  Const dTMP As String = "D:\ARC\"
  
  Dim wShell As Object
  If Dir(dTMP & "ARC.rar") <> "" Then Kill dTMP & "ARC.rar"
  stCMDarc = goRAR & "RAR.exe A -ep " & dTMP & "ARC.rar " & dTMP & "*.xl* "
  stCMDcom = goRAR & "RAR.exe C -z" & dTMP & "ZZ.txt " & dTMP & "ARC.rar"
  MsgBox ("Инициализация прошла.")
  
  'Первый шаг: создаем сам архив ARC.rar. Все работает и архив создается
  Set wShell = CreateObject("Wscript.Shell")
  L = wShell.Run(stCMDarc, 1, True) 'Тут False тоже пробовал
  MsgBox ("Архив создан? Код = " & L)
  Set wShell = Nothing
  
  'Второй шаг: пытаемся вставить коментарии из ZZ.txt
  'Ничего не вставляется, хотя при запуске stCMDcom из командной строки все срабатывает
  Set wShell = CreateObject("Wscript.Shell")
  L = wShell.Run(stCMDcom, 1, True) 'Тут False тоже пробовал
  MsgBox ("Коментарий добавлен? Код = " & L)
  Set wShell = Nothing
End Sub
[/vba]

Уж и не знаю, что смотреть надо :(
PS.
Задавал вопрос на Планете, но ответа нет:
http://www.planetaexcel.ru/forum....e788942

Автор - SVM
Дата добавления - 06.09.2017 в 15:00
  • Страница 1 из 1
  • 1
Поиск:

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