Skip to content

A Program allows user to create course plans based on the user provided notes and a course list.

License

Notifications You must be signed in to change notification settings

ChuangSheep/KursheftTools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kursheft Tools

A newer version as webapp is avaliable. For detailed information see branch web/main. A demo is avaliable here.


An Excel Addin for school to quickly create its own course plans.

Table of Contents

Getting Started

The following instructions will get you a copy of the project and running on your local machine for development and testing purposes. See Deployment or Release to get the newest stable version for deployment on a live system.

For C#

Prerequisites

To compile and run the source code of the VSTO Addin, you need to have Microsoft Visual Studio 2017 or a newer version on your computer.
As this project was created on Visual Studio 2019, we also highly recommend you using the newest version of the Visual Studio IDE (Dev 16.5).

To Get Microsoft Visual Studio, download it from Microsoft.

The Microsoft Office developer tools will be installed by default. If you already have Visual Studio on your computer but don't have the Office developer tools, make sure that Microsoft Office Developer Tools is selected during setup. If not, open Visual Studio Installer, click Modify, and select the functionality called Office/Sharepoint development.
Even though the Visual Studio Tools for Office runtime redistributable will normally be installed while the Office Developer Tools being installed, however, if you don't have it on your local machine, have a look of this Microsoft documentation about how to enable it.

Also, you need to have Microsoft Office 2016, Office 365 (Microsoft 365), or a newer version installed on your local machine.

Installing

As the next step, download the whole folder in the root called KursheftTools-CSharp or the newest release, where you are going to download the source code of csharp as a .zip file.

Open the solution file (KursheftTools.sln) using Visual Studio.

After everything is loaded and ready to use, click Start with the green triangle on the top of your Visual Studio IDE. Make sure that your configuration is set to Debug.

Your Excel will be opened, open or create a random workbook, you will find a tab called Kursheft Tools after the tab help.

Congratulations! The Addin is successfully installed and ready to use.

Technologies

For C# VSTO Addin:

  • C# 5.0
  • .Net Framework 4.5
  • VSTO Runtime

Examples of use

Create a new note board

To test how this Addin creates a new note board, click the button called Neue Bemerkungsbogen erstellen at tab Kursheft Tools.

After that, a dialog window will open and asks you to input the periods, which are supposed to be the start of the year, the start of the second period, and the end of the half-year.

Input them, and an empty note board will be generated on a new worksheet in your opened workbook.

Please note that all of the inputted dates should be weekdays.
Also, the intervals between every inputted date should be more than two weeks.
Certainly, the date for the start of the year should not be later than the start of the second period or the end of the year.

If you have made a mistake mentioned here, the window will not close and the wrong field will be marked red. So you don't have to worry if you inputted the dates wrong.


Import the course list

To import the course list from a .csv or .txt file, click the button called Kursliste importieren. A dialog window will be opened and asks you to choose the .csv/.txt file.

After excel has successfully imported the course list, a message box will show up that the import was completed.


Export the course plans (Kursheft)

Before exporting the course plans, please go to the note board worksheet which you want to use for the export.

To export the course plans as pdf, click the button called Kurshefte generieren at tab Kursheft Tools.

A dialog window will show up. You will be asked to input the path to store the exported course plans, the grades need to be exported.


Format of files

To get the example files, go to the folder called ExampleDataForTest.
Note that these example data are made up and do not contain any personal information.

Format of the course list

The .csv file as course list should have the following format:

[Course Number] | [Class] | [Teacher] | [Subject] | [Room] | [Weekday] | [Hour] | [Unused] | [Unused]

Note that the csv file itself does NOT contain any title line.
However, if needed, importing a csv file with title is supported on the code level.
See CSVUtils.cs method ImportCSVasDT for more details.

Course Number

A course number is a number used to identify the different courses.
This will NOT be used at all for our project since one course could have different course numbers for different days.

Class

The class of this course. A course with the same subject but different classes will be identified as two different courses.

Teacher

The name (or in short form) of the teacher.

Subject

The subject of this course (in short form).

Room

The room where this course will be held.
This property will NOT be used for this project currently.

Weekday

The weekday as a number on that this course will be held.

Hour

The hour which this course will be held. This value should be 1 to 9.

If this property is between 1 to 7, then this course will be held every week.

Otherwise, if this shows 8, then this course will only be held on even weeks.
If this shows 9, then this course will only be held on odd weeks.

If 8 or 9 shows up together, then this course will be held every week.

For example:

1002;"06b";"Dvd";"ChB";"10.07";3;8;;
7020;"06b";"Dvd";"ChB";"10.07";5;5;;

This example shows, the course named ChB for class 06b will be held every even week on the eighth and ninth hour of Wednesday.
However, this course will also be held every week on the fifth hour of Friday.

Unused

This column does not contain any useful information and will not be used at all.


Examples

A part of the course list

46;"05c";"Frk";"Eng";"7.06";1;6;;

46 : This course number will not be used at all.
05c : The class of this course.
Frk : The name of the teacher (in the short form).
Eng : The subject of this course (in the short form).
7.06 : The room where this course will be held.
1 : This course will be held on Monday.
6 : This course will be held in the sixth hour of the day in every week since it is not 8 or 9.

And multiple lines of such record shows how the course looks like:

46;"05c";"Frk";"Eng";"7.06";1;6;;
46;"05c";"Frk";"Eng";"7.06";2;8;;
47;"05c";"Frk";"Eng";"7.06";3;6;;

Format of the note board

The note board should be generated by the program itself. The format will be set automatically and should not be changed.

The first column shows the weekday, the second the date, the third, fifth, and seventh the note inputted by the user and the fourth, sixth, and eighth the grade for the note on its left side.


Deployment

To deploy this Excel Addin on a live system, you need to decide at first, which version you want to use.

You can find the installation files at "Release".

For the VSTO Addin written with C#, you need the administrator privilege of the system to allow you to install the Addin for Excel.

We recommend you to use the EXE installer, which has already bundles all of the dependencies (Internet connection required). Therefore, you will not have to install them manually. Double click the Exe file, read and agree with the agreement, and you are done!

If you choose to use the .vsto or the .msi installer, you have to install the Visual Studio Tools for Office runtime redistributable manually. Also, .Net 4.5 or newer version is required. These should be installed at first before you install the VSTO Addin.
Here is a Microsoft documentation explaining how to install these runtime libraries on your computer.

If you choose to compile the source code yourself, you have to install Microsoft Visual Studio 2017 or newer version. You can find a detailed instruction here.


Built With

  • PDFsharp - A .Net library for processing PDF

License

This project is licensed under the Apache 2.0 License.
See the LICENSE file for details.

Apache 2.0
Copyright (c) 2020 Chuyang W.

About

A Program allows user to create course plans based on the user provided notes and a course list.

Topics

Resources

License

Stars

Watchers

Forks