João Suzano Postado Agosto 18, 2008 Denunciar Share Postado Agosto 18, 2008 Estou iniciando em VBA e gostaria de elaborar uma macro para abrir determinadas tabelas de um arquivo access.Comecei a elaborar um script que busca o arquivo access atrvés de um textbox, porém ele não abri as tabelas que estão dentro deste arquivo access.O erro localiza-se na linha "Workbooks.OpenDatabase Filename...".Segue abaixo o script.Private Sub BOT_EXECUTE_Click()' definiocao das variaveisDim cont_array, cont_book, cont_linha As IntegerDim Nome_planilha(10), Nome_sheet(11), Planilha(10) As String' valor das variaveisPlanilha(1) = "C7SL1"Planilha(2) = "HS7SL1"Planilha(3) = "M3ASSOC"Planilha(4) = "M3DATA"Planilha(5) = "M3PERF"Planilha(6) = "SCTPAM"Planilha(1) = ThisWorkbook.Name'Nome_planilha(2) = planilhas novasNome_sheet(1) = "Execute"cont_book = 2' ========================================================= Abertura das planilhas Workbooks.OpenDatabase Filename:=TextBox1.Text _ , CommandText:=Array("Planilha"), CommandType:=xlCmdTable Nome_planilha(cont_book) = ActiveWorkbook.Name Nome_sheet(cont_book) = ActiveWorkbook.ActiveSheet.Name 'Workbooks(Nome_planilha(1)).Worksheets(Nome_sheet(1)).Cells(2, 2) = Workbooks(Nome_planilha(2)).Worksheets(Nome_sheet(2)).Cells(1, 1) cont_book = cont_book + 1' ============================================================== EXECUÇÃO ================================================'Do' help_nome(2) = Mid(help_nome(1), Len(help_nome(1)) - x, 1)' x = x + 1'Loop While help_nome(2) <> "\" End SubPrivate Sub Use_File_Click()If Use_File = True Then 'Rotina para selecionar o arquivo parsiado Dim f As FileDialog Dim vrtSelectedItem As Variant Dim arquivo As String Set f = Application.FileDialog(msoFileDialogOpen) With f If .Show = -1 Then For Each vrtSelectedItem In .SelectedItems arquivo = vrtSelectedItem Next vrtSelectedItem Else End If End WithEnd IfTextBox1.Text = arquivoEnd SubAgradeço desde qualquer esclarecimento. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
João Suzano
Estou iniciando em VBA e gostaria de elaborar uma macro para abrir determinadas tabelas de um arquivo access.
Comecei a elaborar um script que busca o arquivo access atrvés de um textbox, porém ele não abri as tabelas que estão dentro deste arquivo access.
O erro localiza-se na linha "Workbooks.OpenDatabase Filename...".
Segue abaixo o script.
Private Sub BOT_EXECUTE_Click()
' definiocao das variaveis
Dim cont_array, cont_book, cont_linha As Integer
Dim Nome_planilha(10), Nome_sheet(11), Planilha(10) As String
' valor das variaveis
Planilha(1) = "C7SL1"
Planilha(2) = "HS7SL1"
Planilha(3) = "M3ASSOC"
Planilha(4) = "M3DATA"
Planilha(5) = "M3PERF"
Planilha(6) = "SCTPAM"
Planilha(1) = ThisWorkbook.Name
'Nome_planilha(2) = planilhas novas
Nome_sheet(1) = "Execute"
cont_book = 2
' ========================================================= Abertura das planilhas
Workbooks.OpenDatabase Filename:=TextBox1.Text _
, CommandText:=Array("Planilha"), CommandType:=xlCmdTable
Nome_planilha(cont_book) = ActiveWorkbook.Name
Nome_sheet(cont_book) = ActiveWorkbook.ActiveSheet.Name
'Workbooks(Nome_planilha(1)).Worksheets(Nome_sheet(1)).Cells(2, 2) = Workbooks(Nome_planilha(2)).Worksheets(Nome_sheet(2)).Cells(1, 1)
cont_book = cont_book + 1
' ============================================================== EXECUÇÃO ================================================
'Do
' help_nome(2) = Mid(help_nome(1), Len(help_nome(1)) - x, 1)
' x = x + 1
'Loop While help_nome(2) <> "\"
End Sub
Private Sub Use_File_Click()
If Use_File = True Then
'Rotina para selecionar o arquivo parsiado
Dim f As FileDialog
Dim vrtSelectedItem As Variant
Dim arquivo As String
Set f = Application.FileDialog(msoFileDialogOpen)
With f
If .Show = -1 Then
For Each vrtSelectedItem In .SelectedItems
arquivo = vrtSelectedItem
Next vrtSelectedItem
Else
End If
End With
End If
TextBox1.Text = arquivo
End Sub
Agradeço desde qualquer esclarecimento.
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.