/WordDateGenerator

A Python app that fills a column of a table in a Word document with dates similar to the Excel feature.

Primary LanguagePythonMIT LicenseMIT

Word Date Generator

About

This is a Python project that generates a Word document with a table of dates. The user can select a start date and an end date, and the program will generate a table with all the dates in between. The user can then save the table as a Word document.

Main screen of the app

Build

  1. Requires Python >=3.11
  2. Clone the repository: git clone https://github.com/username/word-date-generator.git
  3. Open a terminal and navigate to the project directory.
  4. Create a virtual environment (optional but recommended):
    • Linux & MacOS: python -m venv .venv or python3 -m venv .venv
    • Windows: py -m venv .\.venv
  5. Activate the virtual environment:
    • Linux & MacOS: source .venv/bin/activate
    • Windows: .\.venv\Scripts\activate
  6. Install the required packages: pip install -r requirements.txt
  7. Choose whether to just run it or build it
    • I just want to run it
      1. Run the program: python WordDateGenerator.py
    • I want to build/compile it
      1. Run the compile command:
        • Linux & MacOS: pyinstaller --noconfirm --onedir --windowed --add-data "./.venv/lib/python3.11/site-packages/customtkinter:customtkinter/" --hidden-import "babel.numbers" "./WordDateGenerator.py"
        • Windows: pyinstaller --noconfirm --onedir --windowed --add-data ".\.venv\Lib\site-packages\customtkinter;customtkinter/" --hidden-import "babel.numbers" ".\WordDateGenerator.py"
      2. pyinstaller outputs the build to dist/WordDateGenerator
      3. Run the program by running the executable at /dist/WordDateGenerator/WordDateGenerator or .\dist\WordDateGenerator\WordDateGenerator.exe
  8. Select a start date and an end date using the date picker.
  9. Click the "Generate" button to generate the table.
  10. Click the "Save" button to save the table as a Word document.

License

This project is licensed under the MIT License - see the LICENSE file for details.