Erro: Falha de imprimir em arquivo para solicitação de nome de arquivo de saída

Traduções deste artigo Traduções deste artigo
ID do artigo: 274523 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sintomas

Quando a caixa de seleção Imprimir em arquivo é selecionada na caixa de diálogo Imprimir , a caixa de diálogo que permite que um nome de arquivo de saída a ser especificado não é exibida.

Resolução

Há três possíveis soluções alternativas para esse comportamento:
  • Verifique a propriedade Flags do controle CommonDialog para ver se a caixa de seleção Imprimir para arquivo está marcada. Se a caixa de seleção estiver marcada, você pode criar um arquivo de texto (sem códigos de impressora) com os comandos do Visual Basic Abrir , gravar e Fechar .

  • Configurar uma impressora para imprimir o arquivo local: porta. Esta impressora local pode ser usada quando a imprimir em arquivo operação é necessária.

  • Abra a caixa de diálogo comuns impressora com funções de API do Win32, como PrintDlg ou PageSetupDlg , em vez de com o arquivo comdlg32.ocx. Em seguida, você pode imprimir com chamadas de API em vez do objeto Printer . Consulte a seção "Referências" deste artigo para obter mais informações.

Situação

A Microsoft confirmou que esse é um problema nos produtos da Microsoft listados no começo deste artigo.

Mais Informações

Etapas para reproduzir o problema

  1. Inicie um novo projeto Visual Basic Standard EXE. O Form1 é criado por padrão.
  2. No menu Project , selecione componentes . Na caixa de diálogo componentes , verifique o componente do Microsoft Common Dialog Control e em seguida, clique em OK .
  3. Adicione um controle CommonDialog ao Form1.
  4. Adicione o seguinte código à seção General Declarations do Form1:
    Private Sub Form_Click()
        Dim blnUseWorkaround As Boolean
    
        ' Uncomment the following line to examine a workaround
        'blnUseWorkaround = True
    
        CommonDialog1.ShowPrinter
        
        If blnUseWorkaround Then
            ' Test to see if the Print to File box is checked
            If (CommonDialog1.Flags And cdlPDPrintToFile) = cdlPDPrintToFile Then
                MsgBox "Create the Output file using the Open, Write, and Close commands"
            Else
                PrintText
            End If
        Else
            PrintText
        End If
    End Sub
    
    Sub PrintText()
        Printer.Print "Test Text"
        Printer.EndDoc
    End Sub
    					
  5. Pressione a tecla F5 para executar o programa.
  6. Clique no Form1 e observe que a caixa de diálogo Imprimir será exibida.
  7. Marque a caixa de seleção Imprimir em arquivo .
  8. Clique em OK na caixa de diálogo Imprimir e observe que a caixa de diálogo que solicita um nome de arquivo de saída não será exibida.

Referências

Para obter informações adicionais sobre como usar as funções de API do Win32 para impressão e caixas de diálogo comuns, clique nos números abaixo para ler os artigos na Base de dados de Conhecimento da Microsoft:
175535PROBLEMA: Impressão rodado texto com o Visual Basic
180645CORRECÇÃO: Não é possível alterar configurações da página durante o trabalho de impressão
173981PROBLEMA: Diferenças de comportamento da caixa de diálogo Imprimir em plataformas diferentes

Propriedades

ID do artigo: 274523 - Última revisão: terça-feira, 28 de setembro de 2004 - Revisão: 3.1
A informação contida neste artigo aplica-se a:
  • Microsoft Visual Basic 4.0 Professional Edition nas seguintes plataformas
    • Microsoft Windows 95
    • Microsoft Windows 98 Standard Edition
    • Microsoft Windows Millennium Edition
  • Microsoft Visual Basic 5.0 Professional Edition nas seguintes plataformas
    • Microsoft Windows 95
    • Microsoft Windows 98 Standard Edition
    • Microsoft Windows Millennium Edition
  • Microsoft Visual Basic 6.0 Professional Edition nas seguintes plataformas
    • Microsoft Windows 95
    • Microsoft Windows 98 Standard Edition
    • Microsoft Windows Millennium Edition
  • Microsoft Visual Basic 4.0 Enterprise Edition nas seguintes plataformas
    • Microsoft Windows 95
    • Microsoft Windows 98 Standard Edition
    • Microsoft Windows Millennium Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition nas seguintes plataformas
    • Microsoft Windows 95
    • Microsoft Windows 98 Standard Edition
    • Microsoft Windows Millennium Edition
  • Microsoft Visual Basic Enterprise Edition for Windows 6.0 nas seguintes plataformas
    • Microsoft Windows 95
    • Microsoft Windows 98 Standard Edition
    • Microsoft Windows Millennium Edition
Palavras-chave: 
kbmt kbbug kbcmndlgprint kbctrl kbfileio kbpending KB274523 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 274523

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com