About Me

A minha foto
JRod - PORTUGAL
Microsoft [MVP] - Excel (10º ano consecutivo)
Ver o meu perfil completo
Com tecnologia do Blogger.

Seguidores

Estatisticas

Free Blog Counter

eXTReMe Tracker
2008-04-04

Recebido por mail (adaptado):

"A minha duvida é a seguinte:
Tenho umas macros num documento de excel para executarem algumas funções, entre as quais a de gravar uma imagem em formato MDI.
Acontece que o ficheiro principal está num servidor assim como as pastas onde gravo essas imagens.
Tenho atalhos em varios computadores da rede para esse ficheiro.
1ª - Qual a possibilidade de puder trabalhar no mesmo ficheiro ao mesmo tempo nos tres computadores?
2ª- Após a instalação de uma impressora nova que serve dois desses computadores as macros deixaram de funcionar convenientemente, pois só num
dos computadores é permitido executar a macro correctamente. No outro computador para quando chega à parte de gravar  a imagem .MDI.
As macros são as seguintes ou melhor parte delas.
________________________________________________
Sheets("M D").Select
    Range("A1").Select
      Application.Dialogs(xlDialogPrinterSetup).Show
        ActiveWindow.SelectedSheets.PrintOut Copies:=1
    Application.ActivePrinter = "Microsoft Office Document Image Writer em
Ne01:"
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, _
        ActivePrinter:="Microsoft Office Document Image Writer em Ne01:", _
        Collate:=True, _
        PrintToFile:=True, _
        PrToFileName:="\\Hdl\cir\Stocks\Coz\Mapas\Mapa de  " &
Format(Now, "dd-mmm-yy h-mm-ss") & ".mdi"
__________________________________________________

Sheets("Extemporanea").Select
  Application.Dialogs(xlDialogPrinterSetup).Show
  ActiveWindow.SelectedSheets.PrintOut Copies:=1
    Application.ActivePrinter = "Microsoft Office Document Image Writer em
Ne01:"
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, _
        ActivePrinter:="Microsoft Office Document Image Writer em Ne01:", _
        Collate:=True, _
        PrintToFile:=True, _
        PrToFileName:="\\Hdl\cir\Stocks\Coz\Extemporaneas\Extemporânea

 

Quando a macro chega a [[Application.ActivePrinter = "Microsoft Office Document Image Writer em Ne01:"]] pára, mas só num computador, se alterar para
[[Application.ActivePrinter = "Microsoft Office Document Image Writer em Ne00:"]], fica a funcionar nesse computador e dá erro no outro.
Serão as portas  da impressora?? Como faço para remediar a coisa??
Já tentei retirar  [[em Ne00 ou em Ne01]], mas tambem dá erro."

 

Comentário:

Como possível solução, inserir, no início das macros, o seguinte código:

Dim sStr As String

sStr = Application.ActivePrinter
Application.EnableEvents = False
On Error Resume Next
Application.ActivePrinter = "Microsoft Office Document Image Writer on Ne02:"
If Err.Number = 1004 Then
    Application.ActivePrinter = "Microsoft Office Document Image Writer on Ne01:"
    Err.Clear
End If

Tópicos relacionados: