|
|
|
Архивирование
|
|||
|---|---|---|---|
|
#18+
Привет всем Ситуация такая: Аксесс формирует отчеты (делает их экселевскими и хранит в отдельной папке), а они большие, более 1 мига, и нужно их отправить по почте. Проблема в том, как можно сделать, чтобы аксесс не только создавал их экселевскими (что сдалано в VBA), но и сжимал их в rar или zip. Это все нужно сделать в коде, поскольку оператор не должен этим заниматься, а только нажимать на кнопку. Спасибо всем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 10:57 |
|
||
|
Архивирование
|
|||
|---|---|---|---|
|
#18+
можно спросит по другому: как связать два приложения: Аксесс и Винрар (например)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 11:01 |
|
||
|
Архивирование
|
|||
|---|---|---|---|
|
#18+
Запустить WinRar с помощью команды Shell Что не понятно? ХелпЗапускает исполняемую программу и при успешном запуске программы возвращает значение типа Variant (Double), представляющее идентификатор программы; в противном возвращается нуль. Синтаксис Shell(pathname[,windowstyle]) Синтаксис функции Shell содержит следующие именованные аргументы: Элемент Описание pathname Обязательный. Значение типа Variant (String). Имя выполняемой программы и любые требуемые аргументы или ключи командной строки; допускает включение каталога или папки и диска. windowstyle Необязательный. Значение типа Variant (Integer), соответствующее типу окна, в котором выполняется программа. Если аргумент windowstyle опущен, программа запускается в свернутом окне и получает фокус. Именованный аргумент windowstyle имеет следующие значения: Константа Значение Описание vbHide 0 Окно скрыто, и фокус передается скрытому окну. vbNormalFocus 1 Окно имеет фокус и восстанавливает свои стандартные размер и положение. vbMinimizedFocus 2 Окно отображается в виде значка с фокусом. vbMaximizedFocus 3 Окно развертывается на полный экран с фокусом. vbNormalNoFocus 4 Восстанавливаются предыдущие размер и положение окна. Активным остается текущее окно. vbMinimizedNoFocus 6 Окно отображается в виде значка. Активным остается текущее окно. Дополнительные сведения При успешном запуске функцией Shell указанного файла она возвращает идентификатор (ID) запущенной программы. Идентификатор задачи ID является уникальным номером, указывающим на выполняемую программу. Если функция Shell не может запустить указанную программу, возникает ошибка. При использовании функции MacID с функцией Shell в Microsoft Windows возникает ошибка. Примечание. Функция Shell запускает другие программы в асинхронном режиме. Это означает, что для продолжения выполнения инструкций, следующих за Shell, не требуется завершения программы, запущенной с помощью функции Shell. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 11:08 |
|
||
|
Архивирование
|
|||
|---|---|---|---|
|
#18+
Винрар запускается, спасибо а можно ли как-нибуть указать имя файла для сжатия в коде? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 11:52 |
|
||
|
Архивирование
|
|||
|---|---|---|---|
|
#18+
А pathname прописать вместе с ключами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 11:57 |
|
||
|
Архивирование
|
|||
|---|---|---|---|
|
#18+
Shell "C:\Program Files\WinRAR\winrar.exe", vbNormalFocus это куда? плиз ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 12:03 |
|
||
|
Архивирование
|
|||
|---|---|---|---|
|
#18+
Shell "C:\Program Files\WinRAR\winrar.exe <сюда>", vbNormalFocus ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 12:05 |
|
||
|
Архивирование
|
|||
|---|---|---|---|
|
#18+
Ключи winrar не помню, посмотрите их через командную строку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 12:05 |
|
||
|
Архивирование
|
|||
|---|---|---|---|
|
#18+
Добавляет в архив указанные файлы и папки. Эта команда является эквивалентом командной строки команды Добавить. Замечание: так как модификация многотомных архивов невозможна, этой командой нельзя добавлять файлы в архивные тома, с ее помощью можно их только создавать. Примеры: а) Добавить все файлы *.hlp из текущей папки в архив help.rar: WinRAR a help *.hlp б) Заархивировать все файлы из текущей и вложенных папок в самораспаковывающийся непрерывный архив, разделённый на тома save.part1.exe, save.part2.rar, save.part3.rar, … размером по 362000 байт, и добавить к каждому тому информацию для восстановления: WinRAR a –r –v362 –s –sfx –rr save Так как имена обрабатываемых файлов не указаны, подразумеваются все файлы (*.*). в) Если в качестве аргумента указано имя папки, то в архив будет добавлено все содержимое указанной папки (и вложенных папок, если указан ключ – r). Следующая команда добавит все файлы из папки Bitmaps в RAR-архив Pictures: WinRAR a –r Pictures.rar Bitmaps Конечно, можно использовать и обычный формат и ввести Bitmaps\*.*, а не Bitmaps. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 12:11 |
|
||
|
Архивирование
|
|||
|---|---|---|---|
|
#18+
команда shell запускает архиватор и открывает архив, но не создает его! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 12:12 |
|
||
|
Архивирование
|
|||
|---|---|---|---|
|
#18+
команда shell запускает архиватор и открывает архив, но не создает его! Значит ключи не правильно написал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 12:14 |
|
||
|
Архивирование
|
|||
|---|---|---|---|
|
#18+
2raur Читай очень внимательно C:\Program Files\WinRAR\WinRAR.hlp (вкладка предметный указатель, поиск по "ключи") когда прочтешь про ключи винрара - раскажи всем какое это отношение имеет к форуму по Акесу :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 12:15 |
|
||
|
Архивирование
|
|||
|---|---|---|---|
|
#18+
Для Shuhard а можно поподробнее пожайлуста. Для Paparome извини, но я ни чего про ключи не знаю, я писал без ключей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 12:17 |
|
||
|
Архивирование
|
|||
|---|---|---|---|
|
#18+
Shell "C:\Program Files\WinRAR\winrar.exe a [путь]\1.rar [путь]\1.txt", vbNormalFocus ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 12:19 |
|
||
|
Архивирование
|
|||
|---|---|---|---|
|
#18+
ключи я нашел последняя просьба: дайте пример с ключами, что бы я знал как их использовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 12:19 |
|
||
|
Архивирование
|
|||
|---|---|---|---|
|
#18+
как делаю я конструкция работает уже 2 + года модуль: 1 ф-я запускает приложение и ждет я её использую вторую см.ниже- она позволяет обновлять приложение DoEvents чтоб не висло Option Compare Database Option Explicit Public Const SW_HIDE = 0 Public Const SW_SHOWNORMAL = 1 Public Const SW_SHOWMINIMIZED = 2 Public Const SW_MAXIMIZE = 3 Public Const SW_SHOWMAXIMIZED = 3 Public Const SW_SHOWNOACTIVATE = 4 Public Const SW_SHOW = 5 Public Const SW_MINIMIZE = 6 Public Const SW_SHOWMINNOACTIVE = 7 Public Const SW_SHOWNA = 8 Public Const SW_RESTORE = 9 Public Const SW_SHOWDEFAULT = 10 Const PROCESS_QUERY_INFORMATION = &H400 Const SYNCHRONIZE = &H100000 Const INFINITE = &HFFFFFFFF Const STILL_ACTIVE = &H103& Const glrcErrFileNotFound = 53 Private Declare Function OpenProcess Lib "kernel32" _ (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long Private Declare Function GetExitCodeProcess Lib "kernel32" _ (ByVal hProcess As Long, lpExitCode As Long) As Long Public Function ahtRunApp(strCommand As String, intMode As Integer) ' Run an application, returning immediately to ' the caller. Just presented as a parallel for ' ahtRunAppWait Dim hInstance As Long On Error GoTo ahtRunApp_Err hInstance = Shell(strCommand, intMode) ahtRunApp_Exit: Exit Function ahtRunApp_Err: Select Case err.Number Case glrcErrFileNotFound MsgBox "не найден : '" & strCommand & "'" Case Else MsgBox err.Description End Select Resume ahtRunApp_Exit End Function Public Function ahtRunAppWait(strCommand As String, intMode As Integer) As Integer ' Run an application, waiting for its completion ' before returning to the caller. Dim hInstance As Long Dim hProcess As Long Dim lngRetval As Long Dim lngExitCode As Long 'Dim lngEnter As Long On Error GoTo ahtRunAppWait_Err ' Start up the application. hInstance = Shell(strCommand, intMode) hProcess = OpenProcess(PROCESS_QUERY_INFORMATION Or SYNCHRONIZE, _ True, hInstance) Do DoEvents ' обновл форmы ' Attempt to retrieve the exit code, which will ' not exist until the application has quit. lngRetval = GetExitCodeProcess(hProcess, lngExitCode) 'If IsLoaded("frpProgressMeter") Then 'если прог метр загружн 'lngEnter = lngEnter + 0.01 'If lngMaxParametr <= lngEnter Then lngEnter = 1 'subRefreshProgressMeter (Fix(lngEnter)) 'End If Loop Until lngExitCode <> STILL_ACTIVE ahtRunAppWait_Exit: Exit Function ahtRunAppWait_Err: Select Case err.Number Case glrcErrFileNotFound MsgBox "Не найдено '" & strCommand & "'" Case Else ahtRunAppWait = err.Number End Select Resume ahtRunAppWait_Exit End Function 'сам вызов : dim s as string s="\путь к winrarу\" & " a -ep -m5 -o+ -vp -vd -y " & "путь к файлу " & "путь куда архив-ровать" ' внимательно смотри на пробелы ahtRunAppWait(s, SW_SHOWNORMAL) таким же образом можно подчинить TheBat отправка почты Call ahtRunApp("C:\Progra~1\TheBat~1\thebat.exe /NOLOGO /MAIlU="твой ящик";F="outbox\Твоя папка в нём";send /exit, SW_HIDE)[/quot][/quot]только: 1.theBat - должен быть закрыт (ето тоже можно проверять прграмно) 2.В твоем поч. ящике должна быть создана папка с шаблоном нового письма в котором указывается тема, адрес и прикрепляемые файлы. В общем очень кратко получилось но идея вроде бы ясна. Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 12:37 |
|
||
|
Архивирование
|
|||
|---|---|---|---|
|
#18+
Чуть попроще с теми же функциями: Dim wshShell, fso Set wshShell = CreateObject("Wscript.Shell") Set fso = CreateObject("Scripting.FileSystemObject") wshShell.Run """c:\program files\winrar.exe"" a c:\autoexec.bat", , True 'Последний параметр - ожидать окончания рабты Set wshShell = Nothing Set fso = Nothing ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 16:15 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32498348&tid=1674999]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
187ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
77ms |
get tp. blocked users: |
2ms |
| others: | 244ms |
| total: | 558ms |

| 0 / 0 |
