A family of Microsoft spreadsheet software with tools for analyzing, charting, and communicating data.
If it's a 32 bit dll I don't think it will work in 64bit Office.
This browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
I am attempting to write a module to get the metadata for a group of MP3 files.
I found the following code online. I followed the download instructions in this article to register the DLL. https://www.dlldownloader.com/cddbcontrol-dll/ The DLL does show up in the References and is selected.
Here is the link to the file on OneDrive: Catalog.xlsb
I get the Class Not Registered Error on the line: Dim id3Tag As New CddbID3Tag ' CDDBCONTROLLib.CddbID3Tag
You can substitute your own MP3 file in the Testit Subroutine to duplicate the error.
Option Explicit
Sub Testit()
MsgBox GetTagItem("C:\Users\dflak\Music\Albumns\Album 005\06 Why Can't We Be Friends.mp3", Title)
End Sub
Public Enum TagItem
Album
BeatsPerMinute
Comments
CopyrightHolder
CopyrightYear
FileId
Genre
ISRC
Label
LeadArtist
Movie
PartOfSet
Title
TrackPosition
Year
End Enum
Public Function GetTagItem(ByVal Path As String, ByVal Item As TagItem) As String
Dim id3Tag As New CddbID3Tag ' CDDBCONTROLLib.CddbID3Tag
'Dim id3Tag As CddbID3Tag
'Set id3Tag = CreateObject("CddbID3Tag")
id3Tag.LoadFromFile Path, True
id3Tag.LoadFromFile Path, True
Select Case Item
Case Album: GetTagItem = id3Tag.Album
Case BeatsPerMinute: GetTagItem = id3Tag.BeatsPerMinute
Case Comments: GetTagItem = id3Tag.Comments
Case CopyrightHolder: GetTagItem = id3Tag.CopyrightHolder
Case CopyrightYear: GetTagItem = id3Tag.CopyrightYear
Case FileId: GetTagItem = id3Tag.FileId
Case Genre: GetTagItem = id3Tag.Genre
Case ISRC: GetTagItem = id3Tag.ISRC
Case Label: GetTagItem = id3Tag.Label
Case LeadArtist: GetTagItem = id3Tag.LeadArtist
Case Movie: GetTagItem = id3Tag.Movie
Case PartOfSet: GetTagItem = id3Tag.PartOfSet
Case Title: GetTagItem = id3Tag.Title
Case TrackPosition: GetTagItem = id3Tag.TrackPosition
Case Year: GetTagItem = id3Tag.Year
End Select
Set id3Tag = Nothing
End Function
Public Sub SetTagItem(ByVal Path As String, ByVal Item As TagItem, ByVal Value As String)
Dim id3Tag As Object ' CDDBCONTROLLib.CddbID3Tag
Set id3Tag = CreateObject("CDDBControl.CddbID3Tag")
id3Tag.LoadFromFile Path, False
Select Case Item
Case Album: id3Tag.Album = Value
Case BeatsPerMinute: id3Tag.BeatsPerMinute = Value
Case Comments: id3Tag.Comments = Value
Case CopyrightHolder: id3Tag.CopyrightHolder = Value
Case CopyrightYear: id3Tag.CopyrightYear = Value
Case FileId: id3Tag.FileId = Value
Case Genre: id3Tag.Genre = Value
Case ISRC: id3Tag.ISRC = Value
Case Label: id3Tag.Label = Value
Case LeadArtist: id3Tag.LeadArtist = Value
Case Movie: id3Tag.Movie = Value
Case PartOfSet: id3Tag.PartOfSet = Value
Case Title: id3Tag.Title = Value
Case TrackPosition: id3Tag.TrackPosition = Value
Case Year: id3Tag.Year = Value
End Select
id3Tag.SaveToFile Path
Set id3Tag = Nothing
End Sub
A family of Microsoft spreadsheet software with tools for analyzing, charting, and communicating data.
Locked Question. This question was migrated from the Microsoft Support Community. You can vote on whether it's helpful, but you can't add comments or replies or follow the question.
If it's a 32 bit dll I don't think it will work in 64bit Office.
It is listed as being 32-bit. The file date is 2016. 64-bit systems were common even back then :).
According to the properties it is Version 1.1.0.28 (doesn't sound too encouraging) and was Copyright 1999-2000 (also not good).
I know that there are 32-bit applications that are compatible with 64-bit systems. Is there a way to tell?
Are you sure the dll is 64bit compatible?
I've been through this before, but I will do it again.
I have some questions.
I have Windows 10 - 64 Bit and Office 365 home subscription 365 also 64 bit.
Where should I be installing the DLL? - in WinSys32 or SYSWOW64?
Also if the copy of the DLL I have is corrupt, do you know where I can find a good copy?
I assume I used the command
%windir%\System32\regsvr32.exe /i Cddbcontrol.dll to re-install.
%windir%\System32\regsvr32.exe /u Cddbcontrol.dll
need register first。
Paste the command below into the Command Line that will open up and hit Enter. This command will delete the damaged registry of the Cddbcontrol.dllfile (It will not delete the file we pasted into theSystem32folder; it will delete the registry inRegedit*. The file we pasted into theSystem32folder will not be damaged)*.
%windir%\System32\regsvr32.exe /u Cddbcontrol.dll