• 0
Sign in to follow this  
rodrigotnoma

Variavel Public

Question

No Form1 guardei 2 variaveis:

For Each impressora In Printers

OpenPrinter impressora.DeviceName, hPrinter, ByVal 0&

EnumJobs hPrinter, 0, 99, 1, ByVal 0&, 0, lNeeded, lReturned

If lNeeded > 0 Then

ReDim byteJobsBuffer(lNeeded - 1) As Byte

EnumJobs hPrinter, 0, 99, 1, byteJobsBuffer(0), lNeeded, lNeeded, lReturned

If lReturned > 0 Then

lJobCount = lReturned

Else

lJobCount = 0

End If

Else

lJobCount = 0

End If

ClosePrinter hPrinter

Text1.Text = CStr(lJobCount)

Text2.Text = lReturned

Text3.Text = lNeeded

If Text1.Text = 1 Then

s=impressora.DeviceName

paginas=GetNumPages(s,p)

MsgBox ("Impressão Cadastrada")

Form2.Show

lNeeded = 0

lJobCount = 0

lReturned = 0

End If

Next

Eu gostaria de utilizar essas duas variaveis em outro form e para isso sei que preciso declarar em um modulo como Public, mas como faço isso, alguém poderia dar um exemplo?

Obrigado

Share this post


Link to post
Share on other sites

3 answers to this question

Recommended Posts

  • 0

é so adicionar o module (clique com o btao direito no projeto e selecione Add -> Module). no general do module, delcare as variaveis como publicas:

Public s As String

Share this post


Link to post
Share on other sites
  • 0

Opa Kuroi,

Fiz o que você escreveu no post anterior, mas esta acontecendo um probleminha:

Set cn = New ADODB.Connection

connstring = "provider=microsoft.jet.oledb.4.0;data source=\\192.168.0.120\impressao\impressao.mdb;"

cn.Open connstring

If Combo2.Text = "Monocromatica" Then

mês = Month(Date)

impressora = impressora.DeviceName

hora = Hour(Time) & ":" & Minute(Time) & ":" & Second(Time)

cliente = Combo1.Text

paginas = GetNumPages(impressora, p)

ip = GetIPAddress()

tipo = "m"

Data = Day(Date) & "/" & Month(Date) & "/" & Year(Date)

Set rs = cn.Execute("insert into tb_impressao(nome,hora,data,cliente,paginas,ip,tipo,mês) values('" & impressora & "','" & hora & "','" & Data & "','" & cliente & "','" & paginas & "','" & ip & "','" & tipo & "','" & mês & "')")

MsgBox ("Impressão Cadastrada")

Else

mês = Month(Date)

impressora = impressora.DeviceName

hora = Hour(Time) & ":" & Minute(Time) & ":" & Second(Time)

cliente = Combo1.Text

paginas = GetNumPages(impressora, p)

ip = GetIPAddress()

tipo = "c"

Data = Day(Date) & "/" & Month(Date) & "/" & Year(Date)

Set rs = cn.Execute("insert into tb_impressao(nome,hora,data,cliente,paginas,ip,tipo,mês) values('" & impressora & "','" & hora & "','" & Data & "','" & cliente & "','" & paginas & "','" & ip & "','" & tipo & "','" & mês & "')")

MsgBox ("Impressão Cadastrada")

End If

ReadyToClose = True

Unload Me

E no modulo coloquei isso:

Public s As String

Public paginas As String

Public impressora As Variant

E esta dando esse erro:

Object Required

O que pode seria?

Vlw

Share this post


Link to post
Share on other sites
  • 0

se você cria uma variavel variant e não atribui nd pra ela, ela não é absolutamente nd. ou seja, ela não possui nenhum propriedade ou metodo chamado DeviceName, a não ser que você especifique um tipo ou uma classe pra ela. exemplo:

Set impressora = New XXXXXXX
você tem uma linha desse tipo em alguma outra parte do seu codigo?? e mesmo que você faca isso, não tenho certeza de que isso:
impressora = impressora.DeviceName

va funcionar, já que como você especifica o tipo dela, não sei se funciona você atribuir um valor de outro tipo (no caso, acredito que string). nesse caso você precisaria de otra variavel.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this