| |
|
|
| |
to: Seryoga204
(08.01.2009 в 22:50)
|
| | 
| |
| |
| |
| |
|
|
| |
to: час
(08.01.2009 в 18:47)
|
| | час
Спасибо ! Спасибо! Спасибо!
Все пашет как часы. Проблему с кодировкой решил подстановкой Encoding:=866 в строку:
Set objDoc = .Documents.Open(objItem.Path, False, True, False, Encoding:=866)
И все файлы стали печататься на нормальном языке.
 | |
| |
| |
| |
|
|
| |
to: Seryoga204
(08.01.2009 в 18:25)
|
| | Может там шрифт поменять???????7  | |
| |
| |
|
|
| |
|
|
| |
to: час
(08.01.2009 в 17:32)
|
| | час
Спасибо огромное пашет НАУРА, на печать идут все файлы. Еще покавыряюсь, посмотрю как сделать чтобы файлы выводились с нормальным текстом - а то половина нормально, а половина иероглифы, хотя все файлы с досовским текстом ASCII(DOS) | |
| |
| |
| |
 22 Кб. |
|
| |
to: час
(08.01.2009 в 17:28)
|
| | Вот посмотри | |
| |
| |
| |
|
|
| |
to: час
(08.01.2009 в 16:57)
|
| | Простите а это имя файла???
01152864.100 | |
| |
| |
| |
 11 Кб. |
|
| |
to: Seryoga204
(08.01.2009 в 16:44)
|
| | Вот моя директория с файлами | |
| |
| |
| |
 4 Кб. |
|
| |
to: час
(08.01.2009 в 16:56)
|
| | вот скрин | |
| |
| |
| |
|
|
| |
to: Seryoga204
(08.01.2009 в 16:39)
|
| | Как же нет???? | |
| |
| |
| |
|
|
| |
to: Seryoga204
(08.01.2009 в 16:39)
|
| | Еще в некоторых отделах бывает что отчетов за определенную дату нет .Сейчас приложу еще и директорию. | |
| |
| |
| |
 24 Кб. |
|
| |
to: час
(08.01.2009 в 16:27)
|
| | Вот посмотри вроде пустых строк нет. | |
| |
| |
| |
|
|
| |
to: Seryoga204
(08.01.2009 в 16:22)
|
| |
Посмотри пожалуйста еще, прикладываю директорию только с 15,01,2009 числом и настроеннйый под нее аксес - т.е. отделы и расширения
|
простите, а это что значит??? | |
| |
| |
| |
|
|
| |
to: Seryoga204
(08.01.2009 в 16:22)
|
| | Это значит в таблице имеется строка без данных - пустая срока - Null
Удали пустые строки из таблицы
или отдел с незаполненными данными о файлах | |
| |
| |
| |
|
|
| |
to: час
(08.01.2009 в 13:19)
|
| | Выдает ошибку Run-time error '94'
Invalid use of Nul
на эту строку H_STR = MyRst1!Numder_File
Посмотри пожалуйста еще, прикладываю директорию только с 15,01,2009 числом и настроеннйый под нее аксес - т.е. отделы и расширения | |
| |
| |
| |
|
|
| |
to: час
(08.01.2009 в 13:19)
|
| | Кстати забыл пердупредить, но думаю сам догодался - надо dao подключить.
C:\Program Files\Common Files\Microsoft Shared\DAO | |
| |
| |
| |
|
|
| |
to: час
(08.01.2009 в 13:19)
|
| | Ну чё как результат?
И гдеб указать что текст в кодировке ASCII (DOS), а то некоторіе файлі печатаются не коректно иероглифами - видимо в самом документе....... | |
| |
| |
| |
 22 Кб. |
|
| |
to: Seryoga204
(08.01.2009 в 13:03)
|
| | Тада вот посмотри:
Открываем таблицу Otdel и заполняем номера отделов, нажимаем крестик слева и вводим все номера файлов в этом отделе. | |
| |
| |
| |
|
|
| |
to: час
(08.01.2009 в 12:32)
|
| | Привет!
да номера отделов 0000,0001,0025,0027,0054,0057,0058,0060,0061,0062,0064,0065,0071,0076,0077,0078,0079,0080,0083,0084,0085,0086,0088,0090,0091,0092,0094,0097,0098,0099,0100,0101,0102
и соответственно расширения файлов
000,001,025,027,054,057,058,060,061,062,064,065,071,076,077,078,079,080,083,084,085,086,088,090,091,092,094,097,098,099,100,101,102
И гдеб указать что текст в кодировке ASCII (DOS), а то некоторіе файлі печатаются не коректно иероглифами. | |
| |
| |
| |
|
|
| |
to: Seryoga204
(08.01.2009 в 08:23)
|
| | А ты знаешь какие номера нужны?  | |
| |
| |
| |
|
|
| |
to: Seryoga204
(07.01.2009 в 23:54)
|
| | А можно в функции установить не с 0 до 110-количество папок, а перечислить конкретно номера отделений:000,001,0025,0027, и.т.д. и также количество файлов не от 0 до130,а тоже 000,001,025,027 что бы прога не лапатила все параметры. | |
| |
| |
| |
|
|
| |
to: Seryoga204
(07.01.2009 в 23:39)
|
| | Спасибо !!!  | |
| |
| |
| |
|
|
| |
to: час
(07.01.2009 в 23:28)
|
| | Точно лапатит все папки попорядку, вот поэтому и долго. Спасибо большое. А нельзя прописать не диапазон от 0 до 110, а имено номера отделений, чтобы все не лапатил. | |
| |
| |
| |
|
|
| |
to: час
(07.01.2009 в 23:28)
|
| | Тута надо ещё проверять есть ли такой файл и если нет то нефига искать, хотя это доп функция - опять тормоз.......................
И к тому же мы не знаем имя файлика  | |
| |
| |
| |
|
|
| |
to: Seryoga204
(07.01.2009 в 23:22)
|
| | Точно, 33*110=
пока все проверишь охр--еешь
Он не виснет он фигачит - видимо
Попробуй номера прпорядку поближе к 001 понапихать в папочку
и посмотри результат............. | |
| |
| |
|
|
| |
|
|
| |
to: час
(07.01.2009 в 23:14)
|
| | Винда ХР сборка от филки, файлы легкие в основном одна страница текста, просто папок в реале 33, а надо наверное ставить от 0 до 110 -так как названия не попорядку и последнее отделение №110 + файлоф каждой папке 3. Может из за этого и подвисает? | |
| |
| |
| |
|
|
| |
to: час
(07.01.2009 в 23:14)
|
| | Надо поспать .............  | |
| |
| |
| |
|
|
| |
to: Seryoga204
(07.01.2009 в 23:09)
|
| | Что за XP ...................................
А текстовые файлы - тяжёлые?????????77  | |
| |
| |
| |
|
|
| |
to: час
(07.01.2009 в 22:58)
|
| | При оладке никаких ошибок не выскакивает | |
| |
| |
| |
 13 Кб. |
|
| |
to: час
(07.01.2009 в 22:58)
|
| | Вот тестик...... | |
| |
| |
|
|
| |
|
|
| |
to: час
(07.01.2009 в 22:43)
|
| | Acces печатает первый файл и после подвисает | |
| |
| |
| |
|
|
| |
to: Seryoga204
(07.01.2009 в 22:42)
|
| | У меня накидывает в принтер кучу -
у меня просто нет принтера....
Запусти в отладчике чё там происходит.... | |
| |
| |
| |
|
|
| |
to: час
(07.01.2009 в 22:33)
|
| | А у вас печатает ? а то уменя не происходит не ких действий . | |
| |
| |
| |
 12 Кб. |
|
| |
to: час
(07.01.2009 в 22:30)
|
| | Вот на три буквы 
Для нас главнее имя папки, чем файла  | |
| |
| |
| |
 12 Кб. |
|
| |
to: час
(07.01.2009 в 22:23)
|
| | Вот может так........ | |
| |
| |
| |
|
|
| |
to: час
(07.01.2009 в 22:23)
|
| | Да, только имя файлов не всегда дата, оно произвольное, и сорри я ошибся расширение состоит из трех цифр. | |
| |
| |
| |
|
|
| |
to: час
(07.01.2009 в 22:21)
|
| | D:\OTDEL\0001\07012009\07012009.0001
Вот так вот ??? | |
| |
| |
| |
|
|
| |
to: час
(07.01.2009 в 22:10)
|
| | Папок 33 но они имеют не последовательные названия, а имено 0000,0001,0025,0027 ит д
Файлов будет максимум 100шт | |
| |
| |
| |
 12 Кб. |
|
| |
to: Seryoga204
(07.01.2009 в 22:19)
|
| | Значит путь не верен.
Я наверное не угадал названия папок
У меня работает - надо тока с пакою разобраться - с её именем | |
| |
| |
| |
|
|
| |
to: час
(07.01.2009 в 22:04)
|
| | выдает ошибку
Run-time error'76'
Path not found
ругается на строку
Set objFolder = objFS.GetFolder(my_Patch) | |
| |
| |
| |
 12 Кб. |
|
| |
to: час
(07.01.2009 в 22:04)
|
| | Чета я поторопился
Вот это лучше ,но
как нам определить сколько папок, сколько документов????
есть что взять за критерий?
можно конечно попробовать вот так написать....For Hirinka = 1 To 500 - это для файлов | |
| |
| |
| |
|
|
| |
to: час
(07.01.2009 в 22:03)
|
| | Только дату там подходяшую на форме напиши. | |
| |
| |
| |
 13 Кб. |
|
| |
to: час
(07.01.2009 в 21:49)
|
| | Посмотри | |
| |
| |
| |
|
|
| |
to: Seryoga204
(07.01.2009 в 21:44)
|
| | Я щас примерчик набросаю - погоди.....  | |
| |
| |
| |
|
|
| |
to: час
(07.01.2009 в 21:42)
|
| | C:\WINDOWS\System32\WScript.exe | |
| |
| |
| |
|
|
| |
to: час
(07.01.2009 в 21:36)
|
| | Да ... а ты подскажи какую ты библиотеку подключал, что бы скрипт пахал???  | |
| |
| |
|
|
| |
|
|
| |
to: час
(07.01.2009 в 21:22)
|
| | час-спасибо огромное что со мной мучаешся.
скрипт при запуске ругается на 3-8 строки -"предполагается наличие окончания инструкции"
и покажи пожалуйста на предыдущем примере как вставить в скрипт вот это
D:\OTDEL\0001
вот эту часть менять???
подойдёт
Dim Hirina as long
Dim Hirina_STR as string
и пока цикл продолжается
Hirina = Hirina +1
а потом преобразуй её
Hirina_STR = Format(Yaer(Hirina ), "0000")
в скрипт Hirinka_STR
my_Patch = "D:\OTDEL\" & Hirina_STR & "\" & Folder_NAME(дата из поля на форме)
Set objFolder = objFS.GetFolder(my_Patch)'Папка, из которой производится печать
Ответить
автор: час (07.01.2009 в 21:01) личное сообщение
А для смены расширения заведи переменную
Dim Hirinka as long например
Dim Hirinka_STR as string
и пока цикл продолжается
Hirinka = Hirinka +1
а потом преобразуй её
Hirinka_STR = Format(Yaer(Hirinka ), "0000")
и вместо "doc" всавь в скрипт Hirinka_STR
If StrComp(objFS.GetExtensionName(objItem.Name), Hirinka_STR , vbTextCompare) = 0 Then
|
Спасибо | |
| |
| |
| |
|
|
| |
to: Seryoga204
(07.01.2009 в 21:16)
|
| | прилепляем функцию
Option Explicit
Const wdDoNotSaveChanges = 0
Const wdPromptToSaveChanges = -2
Const wdSaveChanges = -1
' переменные пишем
Dim Hirinka as long
Dim Hirinka_STR as string
Dim Hirina as long
Dim Hirina_STR as string
Dim my_Patch as string
Dim objWord, objDoc, objFS, objFolder, objItem
Dim F as long
Function Cikl()
for F=1 to 20' смотря сколько папок
Hirina_STR = Format(Yaer(F), "0000")
my_Patch = "D:\OTDEL\" & Hirina_STR & "\" & Folder_NAME(дата из поля на форме)
call Printing
next F
end Function
Function Printing ()
Set objFS = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFS.GetFolder("d:\OTDEL\0001\02012009") 'Папка, из которой производится печать
Set objWord = WScript.CreateObject("Word.Application")
For Each objItem In objFolder.Files
If StrComp(objFS.GetExtensionName(objItem.Name), "0001", vbTextCompare) = 0 Then
With objWord
Set objDoc = .Documents.Open(objItem.Path, False, True, False)
objDoc.PrintOut False
Set objDoc = Nothing
End With
End If
Next
objWord.Quit
Set objWord = Nothing
WScript.Quit 0
End Function
Function Folder_NAME(My_Date) As String
Folder_NAME = Format(Day(My_Date), "00") & Format(Month(My_Date), "00") & Format(Yaer(My_Date), "0000")
End Function
|
| |
| |
| |
| |
|
|
| |
to: час
(07.01.2009 в 21:01)
|
| |
Код:
Option Explicit
Const wdDoNotSaveChanges = 0
Const wdPromptToSaveChanges = -2
Const wdSaveChanges = -1
Dim objWord, objDoc, objFS, objFolder, objItem
Set objFS = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFS.GetFolder("d:\OTDEL\0001\02012009") 'Папка, из которой производится печать
Set objWord = WScript.CreateObject("Word.Application")
For Each objItem In objFolder.Files
If StrComp(objFS.GetExtensionName(objItem.Name), "0001", vbTextCompare) = 0 Then
With objWord
Set objDoc = .Documents.Open(objItem.Path, False, True, False)
objDoc.PrintOut False
Set objDoc = Nothing
End With
End If
Next
objWord.Quit
Set objWord = Nothing
WScript.Quit 0
|
Я в скриптах не силен. Скрипт такого вида печатае все файлы за 02,01,2009 по отделу 0001, как бы сделать чтобы печатались все отделы за это число, пожалуйста, уже третий день мучаюсь, можно на моем кодепоказать что изменить, заранее спасибо. | |
| |
| |
| |
|
|
| |
to: Seryoga204
(07.01.2009 в 21:00)
|
| | D:\OTDEL\0001
вот эту часть менять???
подойдёт
Dim Hirina as long
Dim Hirina_STR as string
и пока цикл продолжается
Hirina = Hirina +1
а потом преобразуй её
Hirina_STR = Format(Yaer(Hirina ), "0000")
в скрипт Hirinka_STR
my_Patch = "D:\OTDEL\" & Hirina_STR & "\" & Folder_NAME(дата из поля на форме)
Set objFolder = objFS.GetFolder(my_Patch)'Папка, из которой производится печать | |
| |
| |
| |
|
|
| |
to: Seryoga204
(07.01.2009 в 21:00)
|
| | ты свой код сюда положи чтоба видеть о чём мы реч ведём....
чё там написано и как у Вас??? | |
| |
| |
| |
|
|
| |
to: час
(07.01.2009 в 20:48)
|
| | А для смены расширения заведи переменную
Dim Hirinka as long например
Dim Hirinka_STR as string
и пока цикл продолжается
Hirinka = Hirinka +1
а потом преобразуй её
Hirinka_STR = Format(Yaer(Hirinka ), "0000")
и вместо "doc" всавь в скрипт Hirinka_STR
If StrComp(objFS.GetExtensionName(objItem.Name), Hirinka_STR , vbTextCompare) = 0 Then | |
| |
| |
| |
|
|
| |
to: час
(07.01.2009 в 20:48)
|
| | Спасибо за ответ, но что то не получается. Надо чтобы скрипт запускал на печать все файлы, со всех вложеных папок с именем например 02012009. | |
| |
| |
| |
|
|
| |
to: Seryoga204
(07.01.2009 в 19:58)
|
| | вот вернёт нужное имя папки
Function Folder_NAME(My_Date) As String
Folder_NAME = Format(Day(My_Date), "00") & Format(Month(My_Date), "00") & Format(Yaer(My_Date), "0000")
End Function
my_Patch = "D:\OTDEL\0016\" & Folder_NAME(дата из поля на форме)
Set objFolder = objFS.GetFolder(my_Patch)'Папка, из которой производится печать
|
| |
| |
| |
| |
|
|
| |
to: Seryoga204
(07.01.2009 в 19:58)
|
| | То есть нуна сформировать правильно строку, куда послать скрипт искать файлы......... | |
| |
| |
| |
|
|
| |
to: час
(07.01.2009 в 19:31)
|
| | В папке OTDEL находится 20 папок с номером отделения, т.е. (0001,0002,0003 и. д 20 шт. В каждой из этих папок находятся папки с названием даты отчета (например в папке 0001 есть папки - 01012009,02012009,03012009, ит.д , т.е название папки это дата создание отчета) и уже в этих папках находятся файлы с расширением номера отеления ( например ****,0001,0002 и .тд) В определенный момент требуется распечатать все отчеты по всем отелениям за определеное число, а имено например за 02,01,2009 - это все файлы по адресам:
D:\OTDEL\0001\02012009\*****.0001
D:\OTDEL\0002\02012009\*****.0002
D:\OTDEL\0003\02012009\*****.0003
D:\OTDEL\0004\02012009\*****.0004
....
D:\OTDEL\0016\02012009\*****.0016
D:\OTDEL\0017\02012009\*****.0017
D:\OTDEL\0018\02012009\*****.0018
D:\OTDEL\0019\02012009\*****.0019
D:\OTDEL\0020\02012009\*****.0020
Если как в скрипте отдельно указать путь к отдной из папок D:\OTDEL\0001\02012009\*****.0001
и срасширение 0001, файлы с этой папки печатаются нормально.Но как сделать чтобы печатались сразу все файлы с папок 02012009, т.е. отчеты за оределенную дату. | |
| |
| |
| |
|
|
| |
to: Seryoga204
(07.01.2009 в 17:27)
|
| |
Эти файлы лежат в папке c:\OTDEL\000,001,002 и т.д.\дата (пример 01012009,02012009 и т.д.)\**.000 и т.д
|
Так как же всё таки, я не понял, название выглядит?
00101012009 , 00001012009 - так?
и ещё это wordovskiy документ или текстовый
изначалбно doc или txt или rtf или ..........  | |
| |
| |
| |
|
|
| |
to: Seryoga204
(07.01.2009 в 17:27)
|
| | Вы имеете ввиду вот этот код?
Const wdPromptToSaveChanges = -2
Const wdSaveChanges = -1
Dim objWord, objDoc, objFS, objFolder, objItem
Set objFS = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFS.GetFolder("c:\work\temp\") 'Папка, из которой производится печать
Set objWord = WScript.CreateObject("Word.Application")
For Each objItem In objFolder.Files
If StrComp(objFS.GetExtensionName(objItem.Name), "doc", vbTextCompare) = 0 Then
With objWord
Set objDoc = .Documents.Open(objItem.Path, False, True, False)
objDoc.PrintOut False
Set objDoc = Nothing
End With
End If
Next
objWord.Quit
Set objWord = Nothing
WScript.Quit 0
|
| |
| |
| |
| |
|
|
| | По данной ссылке http://forum.script-coding.info/viewtopic.php?id=1384 нашел скрипт который перебирает документы в определенной папке и распечатывает Word документы. Данный скрипт работает только для конкретной папки, с файлами конкретного расширения. А как сделать чтобы печатались файлы со всеми расширениями (файлы с текстовой структурой, но имеют числовое расширение, состоящее из трех цифр:0000,0001,0002 и т.д.). Эти файлы лежат в папке c:\OTDEL\000,001,002 и т.д.\дата (пример 01012009,02012009 и т.д.)\**.000 и т.д. Так надо что бы тотал пускал на печать все файлы находящиеся во всех папках 000,001,002 и т.д. но за определенную дату: например за 04012009-(имя папки с файлами).
Вот структура папок /подкаталоги-номер отделения
[img]http://s59.radikal.ru/i163/0901/e0/fc8ce1fa2b5b.png[/img]
подкаталоги дата
[img]http://s59.radikal.ru/i164/0901/68/101a4fed6b37.png[/img]
В папках дата файлы для печати по одному отделению
[img]http://s51.radikal.ru/i131/0901/6c/40e1c9a691a0.png[/img]
по другому отделению
[img]http://s49.radikal.ru/i124/0901/a1/ad3a6f5f35d1.png[/img]
и т. д по все отделениям за определенную дату.
Помогите пожалуйста, заранее благодарен. | |
| |
| |