XL2000: Macro código para verificar se um ficheiro já é aberto

Traduções de Artigos Traduções de Artigos
Artigo: 213383 - Ver produtos para os quais este artigo se aplica.
Para obter uma versão do Microsoft Excel 2002 deste artigo, consulte 291295.
Para obter uma Microsoft Excel 98 e versão anterior deste artigo, consulte 138621.
Expandir tudo | Reduzir tudo

Nesta página

Sumário

Quando utiliza um ficheiro que é partilhado através de uma rede, poderá frequentemente ser útil para saber se outro utilizador tem o ficheiro aberto. O seguinte Microsoft Visual Basic para aplicações procedimento é um exemplo de um método para determinar se outro utilizador tem um determinado ficheiro aberto.

Mais Informação

Microsoft fornece exemplos de programação ilustração só, sem garantia expressa ou implícita, incluindo, sem limitação, garantias implícitas de comercialização e/ou adequação a um fim específico. Este artigo pressupõe que está familiarizado com a linguagem de programação apresentada e as ferramentas utilizadas para criar e depurar procedimentos. Profissionais de suporte da Microsoft podem ajudar a explicar a funcionalidade de um determinado procedimento, mas não modificarão estes exemplos para proporcionarem funcionalidades adicionais nem criarão procedimentos adaptados às necessidades específicas.
Se dispõe de limitada experiência de programação, poderá contactar um Microsoft Certified Partner ou a serviços de aviso. Para obter mais informações, visite estes Web sites da Microsoft:

Microsoft certificado Partner - https://partner.microsoft.com/global/30000104

Serviços Microsoft aviso - http://support.microsoft.com/gp/advisoryservice

Para obter mais informações sobre as opções de suporte estão disponíveis e sobre como contactar a Microsoft, visite o seguinte Web site da Microsoft: http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS

Código de macro de exemplo

Se um determinado ficheiro ainda não estiver aberto, a seguinte macro também abre-lo. Se o ficheiro não estiver na localização especificada, receberá a seguinte mensagem de erro:
Não foi encontrado um ficheiro.
Para criar um procedimento do Visual Basic para ver se livro2.xls na unidade C já está aberto, siga estes passos:
  1. Iniciar o Microsoft Excel e, em seguida, prima ALT+F11 para abrir do Visual Basic for Applications.
  2. No Visual Basic, clique em módulo no menu Inserir .
  3. Escreva o seguinte código na folha do módulo:
    Sub TestFileOpened()
    
        ' Test to see if the file is open.
        If IsFileOpen("c:\Book2.xls") Then
            ' Display a message stating the file in use.
            MsgBox "File already in use!"
            '
            ' Add code here to handle case where file is open by another
            ' user.
            '
        Else
            ' Display a message stating the file is not in use.
            MsgBox "File not in use!"
            ' Open the file in Microsoft Excel.
            Workbooks.Open "c:\Book2.xls"
            '
            ' Add code here to handle case where file is NOT open by another
            ' user.
            '
        End If
    
    End Sub
    
    ' This function checks to see if a file is open or not. If the file is
    ' already open, it returns True. If the file is not open, it returns
    ' False. Otherwise, a run-time error occurs because there is
    ' some other problem accessing the file.
    
    Function IsFileOpen(filename As String)
        Dim filenum As Integer, errnum As Integer
    
        On Error Resume Next   ' Turn error checking off.
        filenum = FreeFile()   ' Get a free file number.
        ' Attempt to open the file and lock it.
        Open filename For Input Lock Read As #filenum
        Close filenum          ' Close the file.
        errnum = Err           ' Save the error number that occurred.
        On Error GoTo 0        ' Turn error checking back on.
    
        ' Check to see which error occurred.
        Select Case errnum
    
            ' No error occurred.
            ' File is NOT already open by another user.
            Case 0
             IsFileOpen = False
    
            ' Error number for "Permission Denied."
            ' File is already opened by another user.
            Case 70
                IsFileOpen = True
    
            ' Another error occurred.
            Case Else
                Error errnum
        End Select
    
    End Function
    					

Referências

Para mais informações sobre como utilizar o código de exemplo neste artigo, clique no número de artigo existente abaixo para visualizar o artigo na base de dados de conhecimento da Microsoft:
212536OFF2000: Como executar códigos de exemplo a partir de artigos da base de dados de conhecimento da Microsoft

Propriedades

Artigo: 213383 - Última revisão: 23 de novembro de 2006 - Revisão: 3.5
A informação contida neste artigo aplica-se a:
  • Microsoft Excel 2000 Standard Edition
Palavras-chave: 
kbmt kbdtacode kbhowto kbinfo kbprogramming KB213383 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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 213383

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