Запустите и распечатайте Crystal Report из VBA - PullRequest
0 голосов
/ 08 марта 2011

Я хочу автоматизировать печать отчетов CR из VB / VBA.

У меня установлен Crystal Reports XI Developer и файлы .rpt (некоторые требуют параметров) для запуска и отправки на принтер без вмешательства пользователя.

Теперь я застрял на самом первом шаге, добавляя правильные библиотеки. Вероятно, существует около 50 библиотек, которые начинаются с Crystal Reports или Business Objects, и я не знаю, какие из них мне нужны.

Любые указатели, которые помогут мне начать, будут оценены.

Спасибо Martin

Ответы [ 2 ]

3 голосов
/ 14 марта 2011

Хорошо, я решил свою проблему.

CRAXDRT.dll aka Библиотека времени выполнения Crystal Reports ActiveX Designer - правильная библиотека.

Вот пример кода:

Dim CR As New CRAXDRT.Application
Dim rep As CRAXDRT.Report
Set rep = CR.OpenReport(Range("CRpath"))
rep.ParameterFields(1).AddCurrentValue "Boston"
rep.ParameterFields(2).AddCurrentValue "Cars"
rep.Database.Tables(1).ConnectionProperties("Password").Value = "pw12345"
rep.ReadRecords
rep.PrintOut promptUser:=False, numberOfCopy:=1 ' promptUser:=True doesn't work
1 голос
/ 09 марта 2011

Это зависит от вашего бюджета, но я рекомендую стороннюю программу под названием Visual Cut (http://www.milletsoftware.com/Visual_CUT.htm).. Используя командную строку или встроенный графический интерфейс, вы можете обрабатывать файлы Crystal Report практически любым способом, каким захотите.включая PDF-файлы, электронную почту и даже печать непосредственно на принтер. Таким образом, вы можете полностью пропустить VBA, если хотите.

Он существует с 2002 года, и разработчик постоянно добавляет к нему пользовательские функции по запросу клиентаТаким образом, он немного страдает от «ползучести функций». Однако руководство (которое можно бесплатно загрузить с веб-сайта) делает все возможное, чтобы держать все в перспективе. Кроме того, если вы получите соглашение об обслуживании, разработчик очень отзывчив.В моем случае он обычно отвечает на мои звонки в течение дня.

* (это не говорит разработчик, просто довольный клиент)

...