Yeah Ive used the script listener before, but was hoping to avoid it because I didn't understand everything that it spits out. But I think I broke it down and I came up with below. I tweeked my original solution to use a text file.
Sub Set_Frame_Delay3()
Dim appPS As Photoshop.Application
Dim ActDescPS1 As Photoshop.ActionDescriptor, ActDescPS2 As Photoshop.ActionDescriptor, ActDescPS3 As Photoshop.ActionDescriptor
Dim ActRefPS1 As Photoshop.ActionReference, ActRefPS2 As Photoshop.ActionReference
Dim dialogMode
Dim idsetd, idnull, idOrdn, idTrgt, idT, idslct
Dim idAniFrClass, idAniFrDelay
Dim sFileName As String
Application.ScreenUpdating = False
Set appPS = New Photoshop.Application
appPS.Visible = True
dialogMode = 3
With appPS
idsetd = .CharIDToTypeID("setd")
idnull = .CharIDToTypeID("null")
idOrdn = .CharIDToTypeID("Ordn")
idTrgt = .CharIDToTypeID("Trgt")
idT = .CharIDToTypeID("T ")
idslct = .CharIDToTypeID("slct")
idAniFrClass = .StringIDToTypeID("animationFrameClass")
idAniFrDelay = .StringIDToTypeID("animationFrameDelay")
End With
sFileName = Application.GetOpenFilename("Textfiles (*.txt),*.txt", , "Open a textfile...")
oIndex = 0
iFileNum = FreeFile()
Open sFileName For Input As iFileNum
Do While Not EOF(iFileNum)
oIndex = oIndex + 1
Line Input #iFileNum, oDelay
Set ActDescPS1 = New Photoshop.ActionDescriptor
Set ActRefPS1 = New Photoshop.ActionReference
ActRefPS1.PutIndex idAniFrClass, oIndex
ActDescPS1.PutReference idnull, ActRefPS1
appPS.ExecuteAction idslct, ActDescPS1, dialogMode
Set ActDescPS2 = New Photoshop.ActionDescriptor
Set ActRefPS2 = New Photoshop.ActionReference
ActRefPS2.PutEnumerated idAniFrClass, idOrdn, idTrgt
ActDescPS2.PutReference idnull, ActRefPS2
Set ActDescPS3 = New Photoshop.ActionDescriptor
ActDescPS3.PutDouble idAniFrDelay, oDelay
ActDescPS2.PutObject idT, idAniFrClass, ActDescPS3
appPS.ExecuteAction idsetd, ActDescPS2, dialogMode
Set ActDescPS1 = Nothing
Set ActRefPS1 = Nothing
Set ActDescPS2 = Nothing
Set ActRefPS2 = Nothing
Set ActDescPS3 = Nothing
Loop
Application.ScreenUpdating = True
Set appPS = Nothing
MsgBox "Frames Delays have been set!"
End Sub
The text file only needs to list the times in seconds in order of frames. In case someone else wants to copy the code. Such as :