MS-Office-Forum

Zurück   MS-Office-Forum > Microsoft Access & Datenbanken > Microsoft Access
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads
Themen-Optionen Ansicht
Alt 14.05.2018, 12:40   #1
WST
MOF User
MOF User
Standard Acc2016 - Mp3 auslesen - Spieldauer und Bit Rate

Hallo zusammen,

für meine über Jahre gewachsene Musik-Datenbank suche ich eine einfache und verständliche Lösung um aus mp3-Dateien die Bit Rate und die Spieldauer auszulesen (in Min/Sec und nur in Sekunden).
In meinen Formularen wird der Pfad zur mp3-Datei inkl. des Dateinamens in dem Steuerelement: "Dateiname" angezeigt, z. B. C:/Musik/The Beatles - Help.mp3

Falls es Lösungen gibt, bitte macht es für mich so einfach wie möglich.
Bin blond, Autodidakt und 64 Jahre alt, aber immer bereit, etwas Neues dazu zu lernen und auszuprobieren

Schöne Grüße aus dem Münsterland

Winni

__________________

www = Wieso, weshalb, warum? Wer nicht fragt, bleibt dumm!
WST ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 14.05.2018, 12:57   #2
elmar
MOF Meister
MOF Meister
Standard

Nutze die Suche hier im Forum - dort findet sich unter anderem dieses hier...

__________________

WIN 7 PROF 64, ACCESS 2003 Wissenswertes: ACCESS-FAQ *** Habe mit ACC2007/10/13 nichts am Hut...
Hilfreiche Antworten kann es nur bei verständlichen Fragen geben! Anleitung dazu: Hier klicken | Auch hilfreich: Einführung in die Datenbank Microsoft Access. | Die Nachteile von Nachschlagefeldern
elmar ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 14.05.2018, 12:59   #3
Nouba
MOF Guru
MOF Guru
Standard

File TAGS auslesen und ändern
Nouba ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 14.05.2018, 14:33   #4
Ohrkester
MOF Koryphäe
MOF Koryphäe
Standard

Servus WST,
es gibt Lösungen, welche mit offenem VBA-Code arbeiten.
Wenn folgendes interessant ist, dann melde Dich per PN.
Diese Datenbanken sind zu gross, um sie direkt ins Forum stellen zu können.
Sie sind jedenfalls offen im Code und ohne irgendeine Nutzungsbeschränkung.


Zitat:

ArbSound

Audioplayer (mp3 mp4, wav) für Access2007 und höhere Versionen(optional ausbaubar für Videofiles, welche per Windows Mediaplayer abspielbar sind)
Auch mit der kostenlosen Access 2010 Runtimeversion benutzbar.
Einige Features sind in Access 2007 nicht nutzbar (z.B. MouseOver Effekte auf Buttons).

Die Datenbank ist in Frontend und Backend aufgeteilt. (FE + BE)
Beim ersten Start des FE wird nach dem Backend gefragt. Dieses einfach im Ordner 'Backends' suchen und doppelklicken.

--------------------------------------------------
FEATURES und OPTIONS (einfach ausprobieren...Lesen kann man später immer noch)
--------------------------------------------------
ab Arbsound_v20_Beta (31.7.2017) nur für 27 Zoll Monitorversion
- neues Backend Arbsound_v20_BE (kompatibel zu v19_BE)
- Redesigning linkes Listenfeld und Anzeigefelder darunter für mehr Flexibilität und Anzeigequalität
- ToDo für rechtes Listenfeld noch nicht fertig
- still ToDo: Exit Buttons in Hilfsformularen optisch nachformatieren.

ab Arbsound_v19 (29.7.2017)
- Neues Backend Arbsound_v19_BE.accdb, welches nicht mehr zu älteren FE-Versionen kompatibel ist.
- Es kann die Fontgrösse des linken Listenfeldes eingestellt werden
- still ToDo: Exit Buttons in Hilfsformularen optisch nachformatieren.
- neue 17Zoll Monitorversion mit eigenem Design.

ab Arbsound_v18 (29.7.2017)
- Neues Backend Arbsound_v18_BE.accdb, welches nicht mehr zu älteren FE-Versionen kompatibel ist.
- Spaltenbreiten des linken Listenfeldes in den Skins einstellbar (Album, Titel, Interpret, Spielzeit).
- still ToDo: Exit Buttons in Hilfsformularen optisch nachformatieren.

ab ArbSound_v17_24Zoll.accdb und ArbSound_v17_27Zoll.accdb (ab 27.Juli 2017)
- wie Accdb_v17.accdb, aber ab jetzt an2 verschiedene Monitorgrößen angepasst.

ab ArbSound_v17.accdb (ab 22.7.2017)
- Import-Info implementiert. Solange importiert wird, wird diese Anzeige erscheinen.
- sonstige kleine bugfixes
- still ToDo: Exit Buttons in Hilfsformularen optisch nachformatieren.
- still ToDo: Spaltenbreite des linken Listenfeldes in den Skins einstellbar machen.
- still ToDo: Buttons über linker Liste vergrößern.

ab ArbSound_v16a.accdb (ab 10.7.2017)
- Erstimporte nochmal optimiert. Speziell die Stabilität des Importformulars.
- Exit aus Suchformular fixed.
- sonstige kleine bugfixes
- still ToDo: Exit Buttons in Hilfsformularen optisch nachformatieren.

ab ArbSound_v10s.accdb (ab 9.7.2017)
- Erstimporte optimiert. Speziell im Formular 'Praeferenzen'
- bugfixes
- still ToDo: Exit Buttons in Hilfsformularen optisch nachformatieren.

ab ArbSound_v10P.accdb (ab 23.6.2017)
- bugfixes
- still ToDo: Exit Buttons in Hilfsformularen optisch nachformatieren.

ab ArbSound_v10N.accdb (ab 22.6.2017)
- Erweiterung im Playerformular um ein Suchfeld-Spezial, wodurch man in allen Daten nach dem eingegebenen Suchparameter filtern kann.

ab ArbSound_v10M.accdb (ab 20.6.2017)
- bugfixes in den Suchlisten des Komfort-Suchformular

ab ArbSound_v10L.accdb (ab 20.6.2017)
- bugfixes in kleinen optischen Fehlern der gesamten DB

ab ArbSound_v10h.accdb (ab 12.6.2017)
- Bildlaufleisten in Player und Archivformular
- png Bilder sind jetzt auch nutzbar

ab ArbSound_v10g.accdb (ab 10.Juni 2017)
- Komfort-Suchformular für viele OFFLINE Bearbeitungen, ohne das Abspielen einer Soundliste zu stören.
- Refresh-Methode löscht tote Links in den Playlisten und Archivlisten.
- Zusätzliches Feld in der Archivtabelle für Notizen zu dem physischen Lagerort eines Tonträgers (CD, DVD, etc.)

vor ArbSound_v10g.accdb (vor 10.Juni 2017)
- automatisierbares Einlesen der Filelinks inkl. file tags (die DB speichert keine files, sondern nur deren Pfade)
Alternativ kann ein einzelnes File, die Files eines Ordners oder die Files einer kompletten
Ordner/Subordnerstruktur mit allen darin enthaltenen Files eingelesen werden.
Auslesbare mp3 Tags werden übernommen. Zusätzlich werden die Windows Filetags ausgewertet.
Optional kann bei fehlenden Interpreten ein default Interpret voreingegeben werden.

- Sollten keine Songnummern oder Spiel-Längen in den wav-, mp3- oder mp4- Dateien vorhanden sein, werden diese Dateien
zwar importiert, aber zusätzlich in eine Tabelle 'Ladefehler' geschrieben.

- beliebige Zuordnung der Files zu Albumsart und Genre (z.B. Albumsart: CD und Genre: Klassik)
Optional kann Albumsart und Genre beim automatischen Einlesen voreingestellt werden.

- Playlistenerstellung on the fly (beliebig viele Playlisten): Sound anhören und per Klick übernehmen.
Gibt es noch keine Playliste, wird eine neue zur Erstellung angeboten.
Dabei wird eine eindeutige Nummer angehängt, um doppelte Playlistennamen zu verhindern.

- Playlistenerstellung: gefilterte Hauptliste in eine neue Playliste kopieren (oder in eine vorhandene addieren).
Da die Hauptliste auch Playlisten anzeigen und filtern kann, sind maximale Auswahlmöglichkeiten vorhanden.

- Such- und Filtermöglichkeiten nach vielen Parametern innerhalb des Player.
Erganzend gibt es ein erweitertes Suchformular mit unendlich vielen Einstellmöglichkeiten für Fortgeschrittene.

- alphabetische Filterung der Daten in der Hauptliste (nach Album oder Titel oder Interpret).
Da die Hauptliste auch Playlisten anzeigen kann, sind auch diese dort alphabetisch entsprechend filterbar.

- Spaltenweise Auf- und Absortierung der angezeigten Datensätze in der Hauptliste.

- Abspielen der Sounds inkl. Längenanzeige und Restlaufzeitanzeige (Player = Windows Mediaplayer)
Win MediaPlayer Slider für "Springen" innerhalb des Sounds benutzbar

- Abspielen der Playlisten oder der Hauptliste im Loop oder Einzelmodus.
Leertaste kann optional als Stop/Play/Stop oder als Pause/Play/Pause eingestellt werden.
Jeder Playstatus wird zusätzlich angezeigt.

- Playlisten im Random-Mode abspielbar. Es werden dabei die Sounds rein zufällig in der Reihenfolge abgespielt.

- direkte Lautstärkensteuerung innerhalb der DB inkl. DIM, MUTE, NORMAL
optional abspeicherbare Lautstärkewerte für DIM und NORMAL

- Playliste per email verschicken. Die Sounds gehen automatisch in den Anhang einer email.

- Sounds aus Playliste oder Hauptliste in andere Ordner oder Pfade kopieren (exportieren).
Anhand der FileLinks werden die entsprechenden Files physisch kopiert
Bei doppelt vorkommenden FileLinks werden mehrfache Kopien eines Sounds mit Appendix erstellt.
Der Inhalt des Exportpfads kann zur Kontrolle angezeigt werden.

- mehr als 20 abspeicherbare generelle Optionen (z.B. Pfade, Löschabfragen mit/ohne Warnung etc.)

- anpassbare Optik über Skins (beliebig viele Skins speicherbar)

- File Info Anzeige des angeklickten Files

- Frontend/Backend mit automatischem Relink.

- manueller Relink zu anderen gleichartigen Backends möglich.

----------------------------------------------------------------------------------------------
INSTALLATIONS-HINWEISE
----------------------------------------------------------------------------------------------
Die Ordner 'Backends' und 'Skin_Backgrounds' dürfen nicht verändert oder verschoben werden.
Jedenfalls nicht, solange man den Player noch nicht verstanden hat.

Die Codes können beliebig verändert werden.
Eine Unterstützung dabei ist nicht vorgesehen


MfG
derArb
Ohrkester ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 14.05.2018, 22:41   #5
Marsu65
MOF Guru
MOF Guru
Standard

Hallo Winni,

bevor die nächsten Links gepostet werden ein wenig Code:
Code:

Function DateiInfo(ByVal sPath As String, iAttribute) As Variant
'// Verweis auf die  'Microsoft Shell Controls And Automation'  muss gesetzt sein (SHELL32.dll)
'Parameter: sPath = Kompletter Pfad inkl. Dateiname und iAttribute = AttributeEnum
   Dim objShell As Shell32.Shell
   Dim objFolder  As Shell32.Folder
   Dim objFolderItem As Shell32.FolderItem
   
   Set objShell = CreateObject("Shell.Application")
   Set objFolder = objShell.Namespace(Left(sPath, InStrRev(sPath, "\") - 1))
   Set objFolderItem = objFolder.ParseName(Mid(sPath, InStrRev(sPath, "\") + 1))
   
   DateiInfo = objFolder.GetDetailsOf(objFolderItem, iAttribute)
   
   Set objFolderItem = Nothing
   Set objFolder = Nothing
   Set objShell = Nothing
End Function

Sub Aufruf()
   Dim sPath As String
   Dim sDauer As String, sBitrate As String
   
   sPath = "C:\DeinPfad\DeineDatei.mp3"
   sBitrate = DateiInfo(sPath, 22)
   sDauer = DateiInfo(sPath, 21)
   
   Debug.Print sBitrate, sDauer  'Mach was mit der Bitrate und der Spieldauer
End Sub

Geändert von Marsu65 (14.05.2018 um 22:54 Uhr). Grund: Doppelbackslasch
Marsu65 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 15.05.2018, 08:36   #6
TommyK
MOF Meister
MOF Meister
Standard

Hallo,

komplette Bsp-DB hier:
MP3 Tags lesen und bearbeiten

__________________

Gruss TommyK


TKSoft-Online | Beispiele im MOF Code-Archiv
Meine Software:Windows 10 Pro 64Bit, Windows 7 Ultimate 64Bit, Office 2003 Pro SP3, Office 2007 Pro SP2, Office 2010 Pro, VB6 Pro SP6, VS2008

TommyK ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 15.05.2018, 12:05   #7
Ohrkester
MOF Koryphäe
MOF Koryphäe
Standard

Servus,
beide Lösungen zeigen teilweise oder ganz falsche Ergebnisse, weil sie die falschen Werte auslesen.
Geprüft mit Windows 7 und Acc2007
Geprüft mit Windows 10 und Acc2016
Siehe beigefügtes Jpeg.
Ausgelesen werden muss 27 für Länge und 28 für Bitrate.
Das hat sich ab Windows 7 geändert.
In Windows XP war 21 die Länge.
Angehängte Grafiken
Dateityp: jpg Dateieigenschaften_mp3.JPG (55,6 KB, 17x aufgerufen)
Ohrkester ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 15.05.2018, 14:34   #8
daolix
MOF User
MOF User
Standard

Hallo
jup das ändert sich ab und dann. Um die Verfügbaren Dateinfos einer Datei zu ermitteln hier mal in Anlehnung an den Code von Marsu


Code:

Sub ListAvaDateiInfos(ByVal sPath As String)
    Dim objShell As Shell32.Shell
    Dim objFolder  As Shell32.Folder
    Dim objFolderItem As Shell32.FolderItem
    Dim i As Long
    Dim k As Long
    Dim sAttr As String * 32
    Dim sFnfo As String
    
    Set objShell = CreateObject("Shell.Application")
    Set objFolder = objShell.NameSpace(Left(sPath, InStrRev(sPath, "\") - 1))
    Set objFolderItem = objFolder.ParseName(Mid(sPath, InStrRev(sPath, "\") + 1))
    
    For i = 0 To 350
        LSet sAttr = Format(i, "000\: ") & objFolder.GetDetailsOf(Nothing, i)
        sFnfo = objFolder.GetDetailsOf(objFolderItem, i)
        If Len(sFnfo) Then
            k = k + 1
            Debug.Print k, sAttr & ": " & sFnfo
        End If
    Next
    
    Set objFolderItem = Nothing
    Set objFolder = Nothing
    Set objShell = Nothing
End Sub
Aufruf ist dann
ListAvaDateiInfos "DeinLaufwerk\einPath\MultimediaDatei.mp3"

die Ausgabe der verfügbaren Infos erfolg dann im Direktfenster

oder so nur localisiert

Code:

Function DateiInfo(ByVal sPath As String, siAttribute As String) As Variant
'// Verweis auf die  'Microsoft Shell Controls And Automation'  muss gesetzt sein (SHELL32.dll)
'Parameter: sPath = Kompletter Pfad inkl. Dateiname und iAttribute = AttributeEnum
    Dim objShell As Shell32.Shell
    Dim objFolder  As Shell32.Folder
    Dim objFolderItem As Shell32.FolderItem
    Dim i As Long
    
    
    Set objShell = CreateObject("Shell.Application")
    Set objFolder = objShell.NameSpace(Left(sPath, InStrRev(sPath, "\") - 1))
    Set objFolderItem = objFolder.ParseName(Mid(sPath, InStrRev(sPath, "\") + 1))
    
    For i = 0 To 350
        If LCase(objFolder.GetDetailsOf(Nothing, i)) = LCase(siAttribute) Then
            DateiInfo = objFolder.GetDetailsOf(objFolderItem, i)
            Exit For
        End If
    Next
    
    Set objFolderItem = Nothing
    Set objFolder = Nothing
    Set objShell = Nothing
End Function

Sub Test

 dim sPath as string
 sPath = "DeinLW:\DeinPath\DeineMp3.mp3"
 debug.print "Bitrate: ", DateiInfo(sPath, "Bitrate")
 debug.print "Länge:   ", DateiInfo(sPath, "Länge")
End Sub

__________________

(K)ein Plan von nix

Geändert von daolix (15.05.2018 um 15:01 Uhr).
daolix ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 15.05.2018, 19:09   #9
Marsu65
MOF Guru
MOF Guru
Standard

Zitat:

beide Lösungen zeigen teilweise oder ganz falsche Ergebnisse, ...

Nö, tun sie nicht. Jedenfalls nicht unter WinXP
Ich jedenfalls kann nicht erkennen, welches OS der Themenstarter einsetzt.

Dankbar bin ich über den Hinweis, dass die Spaltenindizes Win-versionsabhäng sind.
Marsu65 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 15.05.2018, 20:49   #10
Ohrkester
MOF Koryphäe
MOF Koryphäe
Standard

Servus marsu65,

Zitat:

....Ich jedenfalls kann nicht erkennen, welches OS der Themenstarter einsetzt. ...

Könnte man aus dem Titel des Forumsbeitrags evtl. herauslesen.
Kann man unter WinXP mit Access2016 noch arbeiten?
Möglicherweise ja, denn Access2007 klappt da auch noch, wie ich weiss.
Es dürfte aber sehr unwahrscheinlich sein, dass jemand Access 2016 mit WinXP betreibt.
Egal, denn die elegante Lösung ist die von daolix.
Die TommyK Lösung ist eben auch auf WinXP basierend und liefert daher
ab Windows 7 falsche Ergebnisse.

Da ein Musikplayer zumindest auch wav files, obigem entsprechend,
auslesen können sollte, muss dann dafür auch entsprechend mitgedacht werden. Auch hier gibt es entscheidende Veränderungen gegenüber den mp3 files.

Und generell:
mp3 ist eindeutig im Nachteil gegenüber dem PCM-Format der wav files
bezüglich der Tonqualität. Das gilt auch noch im Jahr 2018.
Ohrkester ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 16.05.2018, 00:46   #11
Marsu65
MOF Guru
MOF Guru
Standard 'knackiges' Vinyl rules ;-)

@Ohrkester
Besser Fakten als Wahrscheinlichkeiten.
Acc2016 erfordert lt. MS mindestens Win7.
https://www.microsoft.com/de-de/stor...t:techspecstab

Bei mehrerern mp3s (Musik-Datenbank) wiederholt eine Schleife aufzurufen,
halte ich nicht für elegant. Die gültige Column-ID für die GetDetailsOf-Methode
kann einmalig ermittelt und z.B. in einer statischen Variablen gehalten werden.

Einen Zusammenhang zwischen deinen Ausführungen über 'Musikplayer' sowie 'mp3 vs. wav' und
der präzisen Fragestellung nach Bitrate und Dauer von mp3-Files mit relativ simplen Code,
kann ich nicht erkennen.

PS/OT: Wenn du zu den ca.<10% der Menscheit gehörst, die Unterschiede zwischen
den beiden Formaten hören können, darfst du dich wirklich glücklich schätzen.
Marsu65 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 17.05.2018, 17:39   #12
Ohrkester
MOF Koryphäe
MOF Koryphäe
Standard

Servus Marsu65,

Zitat:

Besser Fakten als Wahrscheinlichkeiten.

Dazu kein zusätzlicher Kommentar.
Jeder Kann aus bisherigem seine Meinung selber bilden.

Bei der Qualitätsbeurteilung von Programmierungstechniken halte ich mich raus.
Wenn allerdings das Ergebnis stimmt, ist mir der langsamere Weg zum Ergebnis wichtiger, als ein Code, der falsche Wege und Ergebnisse zeigt, wie sie ja auch von Dir vorgezeigt wurden.

zu Deinem OT:

Zitat:

PS/OT: Wenn du zu den ca.<10% der Menscheit gehörst,......

Woher nimmst Du Dir die Prozentzahlen in Deiner Behauptung? (<=10%)
Einfach was behaupten (fake news) zählt zu Deinem Argumentationskapital?
Beweise Deine Behauptung und ich bin wieder dabei, darüber nachzudenken.

Geändert von Ohrkester (17.05.2018 um 18:13 Uhr).
Ohrkester ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 18.05.2018, 15:06   #13
evar46
Neuer Benutzer
Neuer Benutzer
Standard

Hallo,
ich hätte eine Frage zur sich verändernden Anzeige der Spielzeit eines laufenden
Media-files in einem ungebundenen Textfeld.
Soll ich da besser hier weiter fragen oder besser einen neuen thread eröffnen?

vielen Dank schon mal
evar46 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 18.05.2018, 15:23   #14
Ohrkester
MOF Koryphäe
MOF Koryphäe
Standard

Servus evar46,
Besser wohl in einem neuen thread.
Aber hier kannst Du einen Link zu deinem neuen thread hinterlassen.
Ohrkester ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 18.05.2018, 16:55   #15
evar46
Neuer Benutzer
Neuer Benutzer
Standard

Hallo,
hier gehts weiter

http://www.ms-office-forum.net/forum...12#post1870812
evar46 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:21 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

Copyright ©2000-2018 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günter Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.