AUTOMA?ÃO - VB 6 COM WORD

NEIBALA 14/11/2016 23:57:12
#468923
Pessoal

Como devo fazer para ativar a propriedade fileprintsetup do wordbasic.
No momento tenho ativado os objetos abaixo :
Dim s_obAppWord As Word.Application
Dim s_obDocWord As Word.Document

Set s_obAppWord = CreateObject([Ô]Word.Application[Ô])
Set s_obDocWord = s_obAppWord.Documents.Open(FileName:=s_dsPathWord, ReadOnly:=False)
[ô] a linha abaixo que queria deixar de forma automática, pois não está aparecendo o fileprintsetup
s_obAppWord.WordBasic.fileprintsetup Printer:=[Ô]impressora[Ô], donotsetassysdefault:=1


KERPLUNK 15/11/2016 00:57:22
#468924
Esse método, recebe dois parâmetros, o primeiro é o nome da impressora, conforme constar nas impressoras instaladas, portanto o melhor seria usar o objeto PrintDialog que já fornece os dados das impressoras instaladas, incluindo uma propriedade específica que retorna o nome da impressora ativa. O segundo parâmetro é uma constante que também pertence ao namespace PrintDialog. Pelo simples fato de ser uma constante, é case-sensitive e o que você tem no seu código não está correto. Com certeza você está usando o [Ô]On Error Resume Next[Ô] e por isso não está nem vendo o erro que geraria e nem conseguindo executar. Como eu sei que essa explicação para você vai estar dizendo muito pouco, apesar de ser exatamente o que você precisa saber e por isso você vai pedir um [Ô]exemplo[Ô]:


Dim s_obAppWord As Word.Application
Dim s_obDocWord As Word.Document

Dim pDialog As New PrintDialog

Set s_obAppWord = CreateObject([Ô]Word.Application[Ô])
s_obAppWord.FilePrintSetup(Printer:=pDialog.PrinterSettings.PrinterName, DoNotSetAsSysDefault:=1)


Como você provavelmente vai só copiar e colar o código que postei, é muito possível que falte uma referência. Veja se consegue descobrir qual...
NEIBALA 16/11/2016 23:51:26
#468979
Citação:

:
Esse método, recebe dois parâmetros, o primeiro é o nome da impressora, conforme constar nas impressoras instaladas, portanto o melhor seria usar o objeto PrintDialog que já fornece os dados das impressoras instaladas, incluindo uma propriedade específica que retorna o nome da impressora ativa. O segundo parâmetro é uma constante que também pertence ao namespace PrintDialog. Pelo simples fato de ser uma constante, é case-sensitive e o que você tem no seu código não está correto. Com certeza você está usando o [Ô]On Error Resume Next[Ô] e por isso não está nem vendo o erro que geraria e nem conseguindo executar. Como eu sei que essa explicação para você vai estar dizendo muito pouco, apesar de ser exatamente o que você precisa saber e por isso você vai pedir um [Ô]exemplo[Ô]:


Dim s_obAppWord As Word.Application
Dim s_obDocWord As Word.Document

Dim pDialog As New PrintDialog

Set s_obAppWord = CreateObject([Ô]Word.Application[Ô])
s_obAppWord.FilePrintSetup(Printer:=pDialog.PrinterSettings.PrinterName, DoNotSetAsSysDefault:=1)


Como você provavelmente vai só copiar e colar o código que postei, é muito possível que falte uma referência. Veja se consegue descobrir qual...



KERPLUNK

Peço desculpa por não ter ficado clara a minha pergunta, mais com o seu exemplo, quanto utilizo o comando abaixo ainda não fica aparecendo o inteligence, mostrando a propriedade (FilePrintSetup), conforme abaixo, veja o que eu precisaria fazer para aparecer está propriedade.
E na questão do dialog estava utilizando o printer para identificar as impressoras instaladas no computador.

Tentei
s_obAppWord.FilePrintSetup

E também
s_obAppWord.WordBasic.FilePrintSetup
Tópico encerrado , respostas não são mais permitidas