top of page

Registering Your Image Copyright - Excel Macro Shortcut

When it comes time to register your photos with the US copyright office, these tips will take the pain out of filling the Group Registration of Published Photographs Title Template.

enormous pile of papers and files

I avoided image copyright registration for as long as possible since I rarely have someone steal an image and it seemed more trouble than it was worth. After numerous conversations with other architectural photographers, I eventually realized that copyright registration is about protecting my future and my client’s interests, as well as helping my fellow photographers in the battle to earn a living in the digital age.

Copyright registration is a powerful tool in fighting back against the internet’s devaluation of art in general, including photography, which makes being a photographer increasingly hard. As such, I finally stopped procrastinating and started the process.


The portal has probably remained unchanged since the Bush Administration, but seems simple enough until you meet the “Group Registration of Published Photographs Title Template”. It would be aptly named “The Excel Spreadsheet Of Doom” or “Are You Sure This Is Worth It?”

This is an excel spreadsheet (they make you work hard to find it) where you enter the names and date published of every photo you are registering. It is actually a pretty helpful workbook with instructions and some failsafes baked in.

But, since you can register up to 750 images at a time, you are potentially hitting Ctrl+C and Ctrl+V 3,000 times, or 3,750 times if you manually paste names into the secondary name column of the excel spreadsheet.

Short of scrubbing excess grout off thousands of penny-sized white tiles in a totally, completely, 100% white bathroom with a paper towel, this is an excellent way to land in a mental institution. And good luck trying to not mix the names and dates up.

After some research, I found and fine-tuned an Excel VBA macro that will preserve your sanity while keeping the world of architectural photography from succumbing to the dark side. Below is the video tutorial and links to the macro.

Bonus Tip:

Trying to remember which images have yet to be registered? Although not a foolproof answer, here is my current solution.

Screenshot of Lightroom

Create a Smart Collection in Lightroom that will filter all the photos with a date after the last date of registration, and is marked in some way that identifies the photo as a finished file that you will likely export. I use the Green label color. Every time you register your last set of photos, simply edit the smart collection and give it the current date.

The Video Tutorial:

The Links:

Here is the Microsoft forum with the original Excel Macro. You will want to watch the video tutorial to know what needs fixing and why you want the macro in a separate worksheet.

If you trust a macro-enabled workbook from the web, download the copyright registration macro here. It includes some basic notes on using it, but if you get stuck, the video goes more in-depth on what is needed.

The Macro Itself:

Finally, here is the macro text with notes at the end. Hopefully, your computer/browser of choice won’t replace the quotation marks!

Sub GetFilesDetails()

' This macro will extract the list of the filenames from a folder as follows

' in column A= Files names

' in column B= Date Created

' in column C= Date Last Accessed

' in column D= Date Last Modified

Dim objFSO As Scripting.FileSystemObject

Dim myFolder As Scripting.Folder

Dim myFile As Scripting.File

Set objFSO = CreateObject("Scripting.FileSystemObject")

Set myFolder = objFSO.GetFolder("C:\Users\Andrew K\Desktop\ImagesToCopyright")

Application.ScreenUpdating = False


' these 2 code lines will clear the old data in Sheet? from columns A:D

' Row 1 is for the appropriate headers only

ThisWorkbook.Sheets("Sheet1").Range(Cells(2, 1), Cells(Rows.Count, 4)).ClearContents

R = 2


' Here we get the details of the files from the folder and place them in the appropriate cells

For Each myFile In myFolder.Files

ThisWorkbook.Sheets("Sheet1").Cells(R, 1).Value = myFile.Name

ThisWorkbook.Sheets("Sheet1").Cells(R, 2).Value = myFile.DateCreated

ThisWorkbook.Sheets("Sheet1").Cells(R, 3).Value = myFile.DateLastAccessed

ThisWorkbook.Sheets("Sheet1").Cells(R, 4).Value = myFile.DateLastModified

R = R + 1

Next myFile

'''************Resizing the columns width****************


Application.ScreenUpdating = True

'' Optional Alert

MsgBox "Updated"

End Sub

Notes on use:

Start by compiling all of the photos you need to register inside of a single folder.

After enabling the macro (the yellow security warning), go to the View tab, then click on "Macros -> View Macros", and edit "Sheet1.GetFilesDetails" .

You will need to replace the current folder path in the macro with your folder path. (see the video on my page for details.)

If the macro doesn't work, you might need to enable Microsoft Scripting Runtime, which you can find under Tools -> References in the VBA Basic macro editing window. See video for details.

Date Last Modified is the column I use for "publish date" I have set the formatting to the preferred formatting.

Date Created may work too, depending on your circumstances. Sometimes they are different, usually, they are the same.

Feel free to share this. I wouldn't mind attribution, as would the guy on the Microsoft forum!


bottom of page