I could have used ADO to make this faster but that makes the code seemingly more complicated and other problems can crop up.
I used Name to rename the XLSX file after processing. As always, test on backups of your files.
Insert this into a Module.
Sub CreateHRMFiles()
Dim oldpath As String, newpath As String
Dim basename As String
Dim fso As Object, fn As Object
Dim wb As Workbook, cell As Range
Dim hFile As Integer, hrmFile As String
Dim s As String
oldpath = ThisWorkbook.Path & "\"
newpath = ThisWorkbook.Path & "\"
Set fso = CreateObject("Scripting.FileSystemObject")
For Each fn In fso.GetFolder(oldpath).Files
s = ""
basename = fso.GetBaseName(fn)
If fn = ThisWorkbook.FullName Or Right(basename, 3) = "_RR" Or GetAttr(fn) = 8226 Then GoTo NextFN
Set wb = Workbooks.Open(fn)
hFile = FreeFile
hrmFile = newpath & basename & ".hrm"
Open hrmFile For Output As #hFile
Print #hFile, "[Params]"
Print #hFile, "SMode = 0"
Print #hFile, "Date = 0"
Print #hFile, "StartTime=00:00:00.0"
Print #hFile, "Length=00:00:00.0"
Print #hFile, "Interval = 238"
Print #hFile, ""
Print #hFile, "[HRData]"
For Each cell In wb.ActiveSheet.Range("C2", wb.ActiveSheet.Range("C" & Rows.Count).End(xlUp))
If Abs(cell.Value) <> s Then
s = Abs(cell.Value)
Print #hFile, s
End If
Next cell
Close hFile
wb.Close False
DoEvents
Name fn As (newpath & basename & "_RR." & fso.GetExtensionName(fn))
Next fn
End Sub