| |

Visual-Basic EinsteigerTransferSpreadsheet mit vorheriger Excel-Bearbeitung aus Access | |  | Autor: mam2508 | Datum: 16.02.12 10:33 |
| Hallo liebes Forum,
ich rätsel gerade an einem Problem. Sicher wisst ihr, woran es liegt. Ich habe bereits versucht, zu googlen, aber es fällt mir schwer, etwas passendes zu finden.
Folgendes mach ich:
- Eine Excel-Datei mit Formatierung soll in eine Access-Tabelle importiert werden (TransferSpreadsheet)
- Damit TransferSpreadsheet die Tabelle lesen kann, lösche ich zunächst die gesamte Formatierung (hatte aus irgendeinem Grund Probleme) und lösche dann auch die ersten 116 Zeilen, da Dort ein Datei-Kopf steht, welchen ich nicht gebrauchen kann.
- Im Anschluss nutze ich dann den Befehl TransferSpreadsheet aus Access und will lesen.
Problem:
Ich habe mehrere Varianten versucht, aber entweder kommt ein Fehler beim Befehl TransferSpreadsheet, dass die Tabelle nicht das erwartete Format enthält, oder aber ich umgehe diesen Fehler, aber dann kommt ca. 5 Sekunden nach Programmausführung ein Windows-Hinweis, dass die Datei nur geöffnet werden kann (Schreibschutzhinweis): Dokument.xls ist jetzt verfügbar. Wählen Sie Lese-7Schreibzugriff, um es zum Bearbeiten zu öffnen.
Set ExlApp = CreateObject("Excel.Application")
With ExlApp
.Visible = False
.Workbooks.Open FileName:=txt_File, updatelinks:=False, readonly:=False
' Formatierung der Zeilen und Spalten. Erst alles löschen, dann
' importieren.
.Range("A:I").Select
.Selection.ClearFormats
.Range("A:C").Select
.Selection.NumberFormat = "@"
.Range("D:I").Select
.Selection.NumberFormat = "0"
.Range("A1:I1").Select
.Selection.NumberFormat = "@"
' Schreibe Spalten-Bezeichnung in erste Zeile, damit Zuordnung zw.
' Access und Excel stattfinden kann
.Cells(1, 1).Value = "Text1"
' [...]
.Cells(1, 9).Value = "Gesamt"
.ActiveWorkbook.Save
ExlApp.Application.Quit
End With
Set ExlApp = Nothing
'ExlApp.ActiveWindow.Close SaveChanges:=True
Set ExlApp = CreateObject("Excel.Application")
With ExlApp
.Visible = False
.Workbooks.Open FileName:=txt_File, updatelinks:=True, readonly:=False
End With
' Importieren der Daten aus Excel in Access
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "Tabelle1", _
txt_File, True
ExlApp.ActiveWorkbook.Save
ExlApp.ActiveWindow.Close SaveChanges:=True
ExlApp.Application.Quit
Set ExlApp = Nothing in der Version, wie ich es hier poste, öffne ich excel, bearbeite es und schließe es wieder, öffne es erneut, importiere und schließe es.
Wenn ich excel nach dem bearbeiten schließe und dann importieren will, kommt der Fehler, dass die Tabelle nicht das erwartete Format enthält. Spare ich mir das öffnen-schließen-öffnen-schließen, und bearbeite und importiere zwischen öffnen-schließen, dann kommt auch die Schreibschutzmeldung.
Habt ihr Vorschläge woran das liegt?
Danke!
Gruß
mam2508 |  |
 TransferSpreadsheet mit vorheriger Excel-Bearbeitung aus Acc... | 1.328 | mam2508 | 16.02.12 10:33 |
 | Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
  |
|
TOP! Unser Nr. 1 
Neu! sevDataGrid 3.0
Mehrspaltige Listen, mit oder ohne DB-Anbindung. Autom. Sortierung, Editieren von Spalteninhalten oder das interaktive Hinzufügen von Datenzeilen sind ebenso möglich wie das Erstellen eines Web-Reports. Weitere InfosTipp des Monats Access-Tools Vol.1 
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|
|
|
Copyright ©2000-2025 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|