powered by simpleCommunicator - 2.0.18     © 2024 Programmizd 02
Map
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Печать файлов vbs
11 сообщений из 11, страница 1 из 1
Печать файлов vbs
    #39699251
SlavikArhan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток!

Есть список файлов на печать (pdf...пример:A0B2#156280_Акт_выполненных_работ), не сортированный...При печати, сортировка файлов должна быть согласно списку в файле .csv(print_test.csv ... содержится список вида 0B2#156280, 0B2#123456 ...)

При запуске ошибок нет, но...и не печатает

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Set fso = CreateObject("Scripting.FileSystemObject")
Set ts=fso.OpenTextFile ("C:\Print_reestr\print_test.csv")
set oWsh = CreateObject ("Wscript.Shell")
 
Do While Not ts.AtEndOfLine
    str="A"&ts.ReadLine
    Set ff = fso.GetFolder("C:\Users\user1\Desktop\2018-08")
    Set fff = ff.Files
    For Each tscf in fff        
        if Trim(Left(tscf.Name,InStr(tscf.Name,"_")-1))=str then
            FileName="C:\Users\user1\Desktop\2018-08\"&Trim(tscf.Name)
            oWsh.run """C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe"" /p /h"&FileName,,true
            Set objAcroPDF = Nothing
        end if
    Next
Loop
...
Рейтинг: 0 / 0
Печать файлов vbs
    #39699260
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Замени имя переменной str на другое, чтобы не совпадало со встроенной функцией.
Поставь Msgbox внутри if и посмотри, туда вообще доходит выполнение? Если нет - смотри, почему не выполняется условие.

Да и вообще, этот скрипт можно засунуть в VBA-редактор и отладить по шагам
...
Рейтинг: 0 / 0
Печать файлов vbs
    #39699277
iMrTidy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SlavikArhan,

Попробуйте так:

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Set fso = CreateObject("Scripting.FileSystemObject")
Set ts = fso.OpenTextFile("C:\Print_reestr\print_test.csv")
Set oWsh = CreateObject("Wscript.Shell")
 
Do While Not ts.AtEndOfStream
    str = "A" & ts.ReadLine
    Set ff = fso.GetFolder("C:\Users\user1\Desktop\2018-08")
    Set fff = ff.Files
    For Each tscf In fff
        If Trim(Left(tscf.Name, InStr(tscf.Name, "_") - 1)) = str Then
            oWsh.Run """C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe"" /p /h" & tscf.Path, , True
        End If
    Next
Loop
...
Рейтинг: 0 / 0
Печать файлов vbs
    #39699304
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
oWsh.Run """C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe"" /p /h """ & tscf.Path & """", , True
...
Рейтинг: 0 / 0
Печать файлов vbs
    #39699520
SlavikArhan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina, Спасибо! Костыль в этой сроке!
...
Рейтинг: 0 / 0
Печать файлов vbs
    #39699522
SlavikArhan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iMrTidy, Спасибо!!!

В итоге, мое решение: немного подредактировал(т.к мне надо Акты печатать 2 раза)

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
Set fso = CreateObject("Scripting.FileSystemObject")
Set ts=fso.OpenTextFile ("C:\Print_reestr\print_test.csv")
set oWsh = CreateObject ("Wscript.Shell")

Do While Not ts.AtEndOfLine
	str="A"&ts.ReadLine
	Set ff = fso.GetFolder("C:\Users\user1\Desktop\2018-08")
	Set fff = ff.Files
	For Each tscf in fff		
		if Trim(Left(tscf.Name,InStr(tscf.Name,"_")-1))=str then
			oWsh.Run """C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe"" /p /h """ & tscf.Path & """", , False
			WScript.Sleep(5000)
			if Mid(tscf.Name,InStr(tscf.Name,"_"),4)="_јкт" then		
				oWsh.Run """C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe"" /p /h """ & tscf.Path & """", , False
				WScript.Sleep(5000)
			end if
		end if
	Next
	WScript.Sleep(5000)
	str=""
Loop 
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Печать файлов vbs
    #40119971
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
коллеги
а откуда вы берете путь
C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\
?
...
Рейтинг: 0 / 0
Печать файлов vbs
    #40119975
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
подскажите, как определить, что стоит на ПК
AcroRd32.exe или Acrobat.exe
и где стоит?


через реестр?
...
Рейтинг: 0 / 0
Печать файлов vbs
    #40119979
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
надо открыть локальный акробат
и передать ему имя файла в шарепойнте
myFileName = "https://****.sharepoint.com/sites/****/2693883/Письмо_3.pdf"
...
Рейтинг: 0 / 0
Печать файлов vbs
    #40120001
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreymx
подскажите, как определить, что стоит на ПК
AcroRd32.exe или Acrobat.exe
и где стоит?


через реестр?

Да,
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\AcroRd32.exe
...
Рейтинг: 0 / 0
Печать файлов vbs
    #40120011
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на одном ПК есть ветка
Компьютер\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Acrobat.exe

на другом ПК есть ветка
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\AcroRd32.exe


как понять, что на ПК установлено?
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Печать файлов vbs
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (1): Анонимы (1)
Читали форум (1): Анонимы (1)
Пользователи онлайн (12): Анонимы (8), Bing Bot, Yandex Bot, Google Bot 1 мин., CerebroSQL 3 мин.
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]