Open (sSave & "/" & Time_pc & PC_Name & ".sys") For Output As #1
Lo que no entiendo porque tanto lio, simplifica un poco.
Fuction SaveLog()
Dim sSave as String
Dim TimePc$
Dim PCName$
sSave = GetSystemDirectory
TimePC =LocalTime
PCName = NombrePc
if Right(sSave,1) = "/" then
GoTo Save:
Else
sSave = sSave & "/"
End If
Save:
Open (sSave & TimePc & PCName & ".sys") For Output As #1
Print #1, Text1.Text
Close #1
End Function
Obvio que entendes que al hacer esto creara un nuevo archivo con una nueva fecha en cada ejecucion de la funcion.Bien podrias cambiar el codigo para que:
Open (sSave & PCName & ".sys") For Output As #1
Print #1, "Hora Actual: " & TimePC & " - " & Text1.Text
Asi crearias un solo archivo y dentro separado por horas, eso si, cambiando el Open para que no sobreescriba.