Guest miguelfreitas Posted April 4, 2011 Report Share Posted April 4, 2011 Boas tardes, tenho aqui código VBA para fazer uma importação através de click. Private Sub Imagem14_Click() Dim Xl As Excel.Application Dim FileName As String Dim wb As Workbook Dim rng As Range Dim LastRow As Long Dim ws As Worksheet If MsgBox("Pretende importar o ficheiro 'Produtos.xlsx' para a base de dados?", vbYesNo, "Aviso") = vbYes Then Set Xl = New Excel.Application FileName = Xl.GetOpenFileName If FileName = "False" Then Exit Sub Set wb = Xl.Workbooks.Open("Produtos.xlsx") Set ws = wb.Worksheets("Produtos") LastRow = ws.Range("A100").End(xlUp).Row ws.Range("A2:H" & LastRow).Copy DoCmd.OpenTable ("add_produtos") DoCmd.Minimize DoCmd.RunCommand acCmdPasteAppend DoCmd.Close acTable, "add_produtos" wb.Saved = True wb.Close Set Xl = Nothing End If End Sub É mesmo esta parte que interessa : DoCmd.OpenTable ("add_produtos") DoCmd.Minimize DoCmd.RunCommand acCmdPasteAppend DoCmd.Close acTable, "add_produtos" Ou seja, depois de escolher o ficheiro, abre a tabela "add_produtos", cola os dados e depois fecha, mas tem um "mas". Queria saber se dava para continuar com este processo mas não mostra-se a tabela, que estivesse tipo Hide ou algo do género. ou se existe outra maneira, mas que cole os dados do ficheiro excel nessa tabela. Resumindo : PasteAppend.TableName Pode ficar alguma coisa assim do género ??? 🤔 Espero umas respostas a ajudar porque não consigo :dontgetit: Desde já agradeço, Miguel Freitas Link to post Share on other sites
KeepItSimple 0 Posted April 5, 2011 Report Share Posted April 5, 2011 Em vez dessas instruções de criares um objecto excel, de abrires a tabela e "colares" o range, podes tentar fazer tudo com uma única instrução: docmd.TransferSpreadsheet Sintaxe: DoCmd.TransferSpreadsheet(TransferType, SpreadsheetType, TableName, FileName, HasFieldNames, Range, UseOA) Link to post Share on other sites
Guest miguelfreitas Posted April 6, 2011 Report Share Posted April 6, 2011 DoCmd.TransferSpreadsheet(TransferType, SpreadsheetType, TableName, FileName, HasFieldNames, Range, UseOA) Obrigado KeepItSimple por me ajudares a resolver mais um problema Será que podes ler o meu novo problema ? Link to post Share on other sites
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now