Convert Asc Time Tables Schedules to Microsoft Excel

Asc Time Tables 2015Has been released Asc Time Tables knowledge output in 2015.
Asc Delivering as follows:What's new in version 2015?
1. Schedule Randomization FasterWhen you start to scramble the schedule software will first check your data, your lesson, request and then generates a low-level machine code that fits your schedule. Furthermore, that code is executed and produce the best schedule. The result will be 2x times faster than Asc Time Tables releases the previous year!Mobile applicationsThis application work offline, so it is great for classrooms no internet signal. The students can see the date of homework or exams. Parents can see presence, send electronic records presence for teachers and more.
2. Schedule Use of SpaceSchedule Use of Space, can now be set separately for each week or a certain time period.When you define the use of space while looking at a particular week, the software will add the use of space just in that week. If you define it in "a few weeks", the use of space will be defined in all week:
3. Study Group by studentsThe new feature "group" allows multiple groups into a single unit. So for example when you have 4 students asked IPS Physics and Biology 2 Students requesting IPA, you can ask the software to schedule the same teacher in the same room at the same time.
4. Schedule temporary Subjects
5. The new print optionsYou can delete multiple rows or small print in the color triangle, etc.
6. Substitution / Teacher Substitute CompulsoryYou can specify that for example, every teacher should have a mandatory substitution 20 per year.
Anything elseSeemed to point number 1 and 5 that feels the change, while the other points which can not be applied in schools in Country are mostly classical class.
I find it important that new:As known, after Asc Time Tables 2008 issue years later there is no option to "export pure html" and replaced with .swf format, so the results can not export html "copy-paste" to excel. This is actually a removal feature Asc capabilities that should not need to be eliminated.
 
In Asc 2015 , Export data or results of randomization have more choices. But the choice of "pure export html" still does not exist. However I found a new export feature that "Export Smart School". These exports will generate a text file, such as text data results randomization schedule format with Comma delimited. Data points such as setting a schedule per teacher, classroom where, what day, hour , appropriate division of tasks teachers.
With this export result files, can be processed into tables in Excel, as where many are needed in administrative management in the school curriculum.
You can create a bit of command macros or VBA in Excel that reading files into tables takes place in a matter of minutes. Here is an example of VBA Macro:


Sub Button1_Click()

Dim data(5000) As String, myFile As String, text As String, textline As String, posLat As Integer, posLong As Integer, a As Integer
Dim kodeguru(100)
Dim kodemapel(150)
Dim Rombel(100)
'dim buat uniq kelas
Dim toAdd As Boolean, uniqueNumbers As Integer, i As Integer, j As Integer

'delete contents sheet
   Cells.Select
    Selection.ClearContents

'read from smart school format file
myFile = Application.GetOpenFilename()

a = 0
Open myFile For Input As #1
Do Until EOF(1)
    Line Input #1, textline
    text = textline
a = 1 + a
Cells(a, 1) = text
data(a) = text

'sparate data with comma
lineitems = Split(text, ",")
Cells(a, 1) = text
Cells(a, 2) = lineitems(0)
Cells(a, 3) = lineitems(1)
Cells(a, 4) = lineitems(2)
Cells(a, 5) = lineitems(3)
Cells(a, 6) = lineitems(4)
Cells(a, 7) = lineitems(5)
Cells(a, 8) = lineitems(6)
Cells(a, 9) = lineitems(7)
Cells(a, 10) = lineitems(8)


Loop
Close #1

'make unique groups
Cells(1, 10).Value = Cells(1, 3).Value
uniqueNumbers = 1
toAdd = True
For i = 1 To 1500

For j = 1 To uniqueNumbers
    If Cells(i, 3).Value = Cells(j, 10).Value Then
        toAdd = False
    End If
Next j

If toAdd = True Then
    Cells(uniqueNumbers + 1, 10).Value = Cells(i, 3).Value
    uniqueNumbers = uniqueNumbers + 1
End If
toAdd = True

Next i


'short groups
  Range("J1:J48").Select
    ActiveWorkbook.Worksheets("proses1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("proses1").Sort.SortFields.Add Key:=Range("J1:J48") _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("proses1").Sort
        .SetRange Range("J1:J48")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
   
'convert groups name to number
    Range("K1").Select
    ActiveCell.FormulaR1C1 = "1"
    Range("K2").Select
    ActiveCell.FormulaR1C1 = "2"
    Range("K3").Select
    ActiveCell.FormulaR1C1 = "3"
    Range("K4").Select
    ActiveCell.FormulaR1C1 = "4"
    Range("K5").Select
    ActiveCell.FormulaR1C1 = "5"
    Range("K6").Select
    ActiveCell.FormulaR1C1 = "6"
    Range("K7").Select
    ActiveCell.FormulaR1C1 = "7"
    Range("K8").Select
    ActiveCell.FormulaR1C1 = "8"
    Range("K9").Select
    ActiveCell.FormulaR1C1 = "9"
    Range("K10").Select
    ActiveCell.FormulaR1C1 = "10"
    Range("K11").Select
    ActiveCell.FormulaR1C1 = "11"
    Range("K12").Select
    ActiveCell.FormulaR1C1 = "12"
    Range("K13").Select
    ActiveCell.FormulaR1C1 = "13"
    Range("K14").Select
    ActiveCell.FormulaR1C1 = "14"
    Range("K15").Select
    ActiveCell.FormulaR1C1 = "15"
    Range("K16").Select
    ActiveCell.FormulaR1C1 = "16"
    Range("K17").Select
    ActiveCell.FormulaR1C1 = "17"
    Range("K18").Select
    ActiveCell.FormulaR1C1 = "18"
    Range("K19").Select
    ActiveCell.FormulaR1C1 = "19"
    Range("K20").Select
    ActiveCell.FormulaR1C1 = "20"
    Range("K21").Select
    ActiveCell.FormulaR1C1 = "21"
    Range("K22").Select
    ActiveCell.FormulaR1C1 = "22"
    Range("K23").Select
    ActiveCell.FormulaR1C1 = "23"
    Range("K24").Select
    ActiveCell.FormulaR1C1 = "24"
    Range("K25").Select
    ActiveCell.FormulaR1C1 = "25"
    Range("K26").Select
    ActiveCell.FormulaR1C1 = "26"
    Range("K27").Select
    ActiveCell.FormulaR1C1 = "27"
    Range("K28").Select
    ActiveCell.FormulaR1C1 = "28"
    Range("K29").Select
    ActiveCell.FormulaR1C1 = "29"
    Range("K30").Select
    ActiveCell.FormulaR1C1 = "30"
    Range("K31").Select
    ActiveCell.FormulaR1C1 = "31"
    Range("K32").Select
    ActiveCell.FormulaR1C1 = "32"
    Range("K33").Select
    ActiveCell.FormulaR1C1 = "33"
    Range("K34").Select
    ActiveCell.FormulaR1C1 = "34"
    Range("K35").Select
    ActiveCell.FormulaR1C1 = "35"
    Range("K36").Select
    ActiveCell.FormulaR1C1 = "36"
    Range("K37").Select
    ActiveCell.FormulaR1C1 = "37"
    Range("K38").Select
    ActiveCell.FormulaR1C1 = "38"
    Range("K39").Select
    ActiveCell.FormulaR1C1 = "39"
    Range("K40").Select
    ActiveCell.FormulaR1C1 = "40"
    Range("K41").Select
    ActiveCell.FormulaR1C1 = "41"
    Range("K42").Select
    ActiveCell.FormulaR1C1 = "42"
    Range("K43").Select
    ActiveCell.FormulaR1C1 = "43"
    Range("K44").Select
    ActiveCell.FormulaR1C1 = "44"
    Range("K45").Select
    ActiveCell.FormulaR1C1 = "45"
    Range("K46").Select
    ActiveCell.FormulaR1C1 = "46"
    Range("K47").Select
    ActiveCell.FormulaR1C1 = "47"
    Range("K48").Select
    ActiveCell.FormulaR1C1 = "48"
    Range("K48").Select
   
    'conversion
    ActiveWindow.SmallScroll Down:=-25
    Range("M1").Select
    ActiveCell.FormulaR1C1 = "'=VLOOKUP(C1;$J$1:$K$48;2)"
    Range("M1").Select
    ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-10],R1C10:R48C11,2)"
    Range("M1").Select
    Selection.Copy
    Range("M1:M333").Select
    Range(Selection, Selection.End(xlDown)).Select
    Range(Selection, Selection.End(xlDown)).Select
    Columns("M:M").Select
    Range(Selection, Selection.End(xlUp)).Select
    Range("M1:M1461").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False


'write schedule to sheet2
For data = 1 To 1500
isitidak = Cells(1, 1)
If isitidak = "" Then Exit For
kodegurudanmapel = Cells(data, 4) & Cells(data, 5)
hari = Val(Cells(data, 7))
sellhari = (hari * 10 + 1) - 10
jamke = Val(Cells(data, 8))
selljamke = sellhari + jamke
kelas = Val(Cells(data, 13))
Sheets("jadwal").Cells(kelas + 2, selljamke) = kodegurudanmapel

Next data
 

End Sub
Run Macro from sheet1 and schedule will write in sheet2