Upload files to "/"
This commit is contained in:
683
Admin - Documentation.md
Normal file
683
Admin - Documentation.md
Normal file
@@ -0,0 +1,683 @@
|
||||
# Technical Documentation — Admin Folder
|
||||
|
||||
## Table of Contents
|
||||
1. [SR_Macro.xlsb — Main Macro](#1-sr_macroxlsb--main-macro)
|
||||
- [Sheets](#sheets--overview)
|
||||
- [VBA Modules](#vba-modules--code-architecture)
|
||||
2. [Subupload with Bundled Indicator.xlsx — Upload File](#2-subupload-with-bundled-indicatorxlsx--upload-file)
|
||||
3. [folder create.bat — Folder Creation Script](#3-folder-createbat--folder-creation-script)
|
||||
4. [icon.ico — Application Icon](#4-iconico--application-icon)
|
||||
5. [End-to-End Data Flow](#5-end-to-end-data-flow)
|
||||
6. [Glossary](#6-glossary)
|
||||
|
||||
---
|
||||
|
||||
## 1. SR_Macro.xlsb — Main Macro
|
||||
|
||||
An Excel Binary Workbook (`.xlsb`) containing VBA macros and 7 data sheets. This is the heart of the entire system.
|
||||
|
||||
### Sheets — Overview
|
||||
|
||||
| Sheet | Role |
|
||||
|---|---|
|
||||
| MACRO | Control panel — run-time settings |
|
||||
| AIS Import | Data from the Disney central system (AIS) |
|
||||
| AIS Export | Comparison: operator data vs AIS |
|
||||
| MailManager | Log of processed emails |
|
||||
| MailManager_Mapping | Per-operator configuration |
|
||||
| Mapping | Lookup tables (months, channels, packages) |
|
||||
| Error_Log | Processing error log |
|
||||
|
||||
---
|
||||
|
||||
### Sheet 1: MACRO — Control Panel
|
||||
|
||||
Used to configure settings before running the macro. Contains three parameters:
|
||||
|
||||
| Field | Example value | Description |
|
||||
|---|---|---|
|
||||
| `Mailbox:` | `DWSS.Autocashsupport@disney.com` | The Outlook mailbox from which the macro retrieves operator emails |
|
||||
| `Service Month:` | `April` | The month for which reports are being processed |
|
||||
| `Latest AIS file:` | `P08_FY24_Subs_report 01.05.2024` | Name of the most recently loaded AIS system report |
|
||||
|
||||
**What the macro does on execution:**
|
||||
1. Connects to the Outlook mailbox specified in the `Mailbox` field
|
||||
2. Scans the inbox for new emails from operators with the subject `RAPORTY`
|
||||
3. Downloads Excel attachments and saves them to `Import/POL/[operator_id]/`
|
||||
4. For each operator, calls the appropriate sub-macro (`R_MROSA_EXCL.Run` or `R_MROSA_PDF.Run`)
|
||||
5. Generates an output report (`.xls`) and saves it to `Admin/Export/PL/[Operator]/`
|
||||
6. Archives the email (`.msg`) alongside the report
|
||||
|
||||
---
|
||||
|
||||
### Sheet 2: AIS Import — Central System Data
|
||||
|
||||
Data retrieved from the AIS (Affiliate Information System) — Disney's central database of historical subscriber figures. Used as the baseline for comparison against operator-submitted data.
|
||||
|
||||
**Structure (22 columns):**
|
||||
|
||||
| Column | Description | Example |
|
||||
|---|---|---|
|
||||
| `AFFILIATE NUMBER` | Affiliate ID (operator group) | `15259` |
|
||||
| `COUNTRY-SERVED2` | Country code | `POL` |
|
||||
| `STATE-SERVED` | Region / voivodeship | `ALL` |
|
||||
| `CITY-SERVED` | City | `ALL` |
|
||||
| `SYSTEM-NAME` | Full operator system name | `24IT MEDIA SP. Z O.O.` |
|
||||
| `SYSTEM-ID` | Numeric system ID in AIS | `124266` |
|
||||
| `NETWORK` | Numeric channel ID | `825` |
|
||||
| `SERVICE-CODE` | Package code | `PL13` |
|
||||
| `CABLE-HOUSEHOLDS` | Number of households with access | (usually empty for PL) |
|
||||
| `SUBSCRIBERS` | Number of subscribers | `1` |
|
||||
| `SMSO-IND` | SMSO indicator | (usually empty) |
|
||||
| `PO-NUMBER` | Purchase order number | (usually empty) |
|
||||
| `SERVICE-MONTH` | Service month (number) | `4` |
|
||||
| `SERVICE-YEAR` | Service year | `2024` |
|
||||
| `NETWORK-NAME` | Channel name | `DISNEY CHANNEL` |
|
||||
| `SERVICE-NAME` | Package name | `ALL DISNEY/BABY/FX/NG` |
|
||||
| `Frequency` | Reporting frequency | `MONTHLY` |
|
||||
| `Last Reported Subs` | Previously reported subscriber count | `1` |
|
||||
| `Last Date` | Date of previous report | `2024-03-31` |
|
||||
| `Service Area` | Service region | `Poland` |
|
||||
| `Legal Entity` | Disney legal entity | `TWDCPO` |
|
||||
| `Bundle Indicator` | Bundle identification key | `124266PL13` |
|
||||
| `Bundled` | Is it a bundled package? | `Yes` / (empty) |
|
||||
|
||||
**Record identification key:** `[SYSTEM-ID][SERVICE-CODE]` e.g. `124266PL13`
|
||||
|
||||
---
|
||||
|
||||
### Sheet 3: AIS Export — Data Comparison
|
||||
|
||||
A side-by-side comparison of operator-submitted data against historical AIS data. The macro uses this sheet to flag discrepancies.
|
||||
|
||||
**Additional columns relative to AIS Import:**
|
||||
|
||||
| Column | Description | Possible values |
|
||||
|---|---|---|
|
||||
| `Compare` | Comparison result | `Match` / `ok` / `Diff.` |
|
||||
| `Column1` | Difference (new − previous) | number (negative = decline) |
|
||||
| `Column2` | Row key | e.g. `14476121929DBABABY TV ` |
|
||||
|
||||
**`Compare` value meanings:**
|
||||
|
||||
| Value | Meaning |
|
||||
|---|---|
|
||||
| `Match` | Perfect match (difference = 0) |
|
||||
| `ok` | Small, acceptable difference |
|
||||
| `Diff.` | Large difference — requires manual review |
|
||||
|
||||
**Example discrepancy:**
|
||||
```
|
||||
SM Polnoc – BABY TV, DBA: new=5576, previous=3560 → Diff., change=−2016
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Sheet 4: MailManager — Email Log
|
||||
|
||||
A register of all emails processed by the macro.
|
||||
|
||||
**Structure:**
|
||||
|
||||
| Column | Description | Example |
|
||||
|---|---|---|
|
||||
| `sender` | Sender email address | `renata@eaw.com.pl` |
|
||||
| `subject` | Email subject | `RAPORTY` |
|
||||
| `time` | Date and time (Excel serial number) | `45419.577...` |
|
||||
| `status` | Processing status | `New` |
|
||||
| `filename` | Full path of the saved attachment | `C:\...\Import\POL\13245\CITY NET SP ZOO - 20240614151842_DisneyC.N..xlsx` |
|
||||
|
||||
**How email identification works:**
|
||||
- The macro checks the subject line: if it contains `RAPORTY` → the email qualifies for processing
|
||||
- The sender address is matched to an operator via the `Email` column in `MailManager_Mapping`
|
||||
- Status `New` = just processed; on error, the entry is written to `Error_Log` instead
|
||||
|
||||
---
|
||||
|
||||
### Sheet 5: MailManager_Mapping — Operator Configuration
|
||||
|
||||
The key configuration sheet — defines every operator handled by the system. One row = one operator. The sheet has two halves: left side = direct operators, right side = Nasza Wizja sub-platform operators.
|
||||
|
||||
**Columns — direct operator (left side):**
|
||||
|
||||
| Column | Description | Example |
|
||||
|---|---|---|
|
||||
| `Name` | Full operator name | `CITY NET SP ZOO` |
|
||||
| `Cntr` | Country code | `POL` |
|
||||
| `Email` | Operator email address | `renata@eaw.com.pl` |
|
||||
| `Bundle type` | Channel for bundle | `NAT GEO CORE ` |
|
||||
| `type` | Bundle package code | `DEX` |
|
||||
| `Bundle type2` | Second bundle channel (optional) | |
|
||||
| `type2` | Second bundle package code (optional) | |
|
||||
| `Special Bundle` | Special bundle indicator | `SpecBundle` |
|
||||
| `SYSTEM-ID1` | System ID 1 in AIS | `119971` |
|
||||
| `SYSTEM-ID 2` | System ID 2 (if operator has multiple) | |
|
||||
| `AFFILIATE-ID` | Affiliate ID | `13245` |
|
||||
| `AFFILIATE-ID 2` | Second affiliate ID | |
|
||||
| `Folder Location` | Export folder path | `CITY NET ` |
|
||||
| `Doc Type` | File format received from operator | `xlsx` / `xls` / `ods` / `pdf` |
|
||||
| `Call Macro` | Sub-macro to invoke | `R_MROSA_EXCL.Run` |
|
||||
| `comments` | Operational notes | `n` / `q` / `a` / `SKAN` / `x` |
|
||||
| `Tested?` | Whether the configuration has been tested | `n` (no) / `q` (quarterly) |
|
||||
|
||||
**Columns — Nasza Wizja operator (right side, same logic):**
|
||||
|
||||
| Column | Description |
|
||||
|---|---|
|
||||
| `SYSTEM-NAME` | Nasza Wizja operator name |
|
||||
| `SYSTEM-ID` | System ID in AIS |
|
||||
| `AFFILIATE-ID` | Affiliate ID |
|
||||
| `Folder Location` | e.g. `Nasza Wizja\AMBIT` |
|
||||
| `BUNDLE` | Bundle channel |
|
||||
| `Bundle Type` | Bundle package code |
|
||||
| `Sum of Bundles?` | Whether to aggregate bundles across multiple sub-operators |
|
||||
| `Test` | Test status |
|
||||
|
||||
**Document types (`Doc Type`):**
|
||||
|
||||
| Value | File format |
|
||||
|---|---|
|
||||
| `xlsx` | Excel (newer format) |
|
||||
| `xls` | Excel (legacy format) |
|
||||
| `ods` | OpenDocument Spreadsheet |
|
||||
| `pdf` | PDF (scanned document) |
|
||||
|
||||
**Sub-macros (`Call Macro`):**
|
||||
|
||||
| Macro | Used for |
|
||||
|---|---|
|
||||
| `R_MROSA_EXCL.Run` | Excel and ODS files — fully automated |
|
||||
| `R_MROSA_PDF.Run` | PDF files — requires OCR or manual data entry |
|
||||
|
||||
**Comment codes (`comments`):**
|
||||
|
||||
| Code | Meaning |
|
||||
|---|---|
|
||||
| `n` | Normal operator, no special handling |
|
||||
| `q` | Quarterly reporting (not monthly) |
|
||||
| `a` | Anomaly — requires attention |
|
||||
| `SKAN` | Operator submits a paper scan |
|
||||
| `x` | Not supported / operator inactive |
|
||||
|
||||
---
|
||||
|
||||
### Sheet 6: Mapping — Lookup Tables
|
||||
|
||||
A reference sheet containing mappings used by the macro when parsing operator data.
|
||||
|
||||
**Table 1 — Months (EN/PL ↔ number):**
|
||||
|
||||
| English | Polish | Number |
|
||||
|---|---|---|
|
||||
| January | sty | 1 |
|
||||
| February | lut | 2 |
|
||||
| March | mar | 3 |
|
||||
| April | kwi | 4 |
|
||||
| May | maj | 5 |
|
||||
| June | cze | 6 |
|
||||
| July | lip | 7 |
|
||||
| August | sie | 8 |
|
||||
| September | wrz | 9 |
|
||||
| October | paz | 10 |
|
||||
| November | lis | 11 |
|
||||
| December | gru | 12 |
|
||||
|
||||
**Table 2 — Channels (numeric ID → name):**
|
||||
|
||||
| ID | Channel |
|
||||
|---|---|
|
||||
| 665 | BABY TV |
|
||||
| 668 | FX |
|
||||
| 679 | NAT GEO CORE |
|
||||
| 680 | NAT GEO WILD |
|
||||
| 681 | NAT GEO PEOPLE |
|
||||
| 701 | FX COMEDY |
|
||||
| 825 | DISNEY CHANNEL |
|
||||
| 831 | DISNEY JUNIOR |
|
||||
| 835 | DISNEY XD |
|
||||
| 865 | NAT GEO + EMEA |
|
||||
| 867 | NAT GEO PLAY EMEA |
|
||||
|
||||
**Table 3 — Package codes (SERVICE-CODE → SERVICE-NAME):**
|
||||
|
||||
| Code | Name |
|
||||
|---|---|
|
||||
| `BASIC` | Basic / Analogue Basic |
|
||||
| `DBA` | Digital Basic |
|
||||
| `EXT` | Extended |
|
||||
| `DEX` | Digital Extended |
|
||||
| `RES` | Residential |
|
||||
| `ANG` | Analogue |
|
||||
| `PL1` | FX/COM/NG/WILD/PEO |
|
||||
| `PL13` | ALL DISNEY/BABY/FX/NG |
|
||||
| `PL14` | ALL FX, NG & BABY |
|
||||
| `THE` | Theme Package |
|
||||
| `HD` | High Definition |
|
||||
| `IPL` | IPLA |
|
||||
| `OTT` | OTT |
|
||||
| `FNG` | FX, NG CORE & NG WILD |
|
||||
| `BU2` | NAT GEO & NAT GEO WILD |
|
||||
| `COM` | Commercial |
|
||||
| `PPR` | Pre-Paid Residential |
|
||||
| `DCJ` | DC & Junior |
|
||||
| `CAN` | CANAL+ Service |
|
||||
|
||||
**Table 4 — Bundle Indicator (key ↔ Bundled value):**
|
||||
Key format: `[SYSTEM-ID][SERVICE-CODE]`, e.g. `124266PL13` → `Bundled = Yes`
|
||||
|
||||
---
|
||||
|
||||
### Sheet 7: Error_Log — Error Journal
|
||||
|
||||
A record of all emails and reports that could not be processed automatically.
|
||||
|
||||
**Structure:**
|
||||
|
||||
| Column | Description |
|
||||
|---|---|
|
||||
| `Email` | Sender address |
|
||||
| `Topic` | Email subject |
|
||||
| `Client` | Client name / contact |
|
||||
| `Country` | Country |
|
||||
| `Error` | Error code |
|
||||
| `Reason` | Reason for rejection |
|
||||
| `Date` | Date of occurrence |
|
||||
|
||||
**Example error entry:**
|
||||
```
|
||||
Email: malgosia@wektormedia.pl
|
||||
Topic: RAPORT WEKTOR SP. Z O.O. ŻAGAŃ
|
||||
Error: NOT PROCESSED
|
||||
Reason: Not qualified for processing
|
||||
```
|
||||
> This means the operator is not configured in `MailManager_Mapping` — the macro found no match for the sender's email address.
|
||||
|
||||
---
|
||||
|
||||
### VBA Modules — Code Architecture
|
||||
|
||||
`SR_Macro.xlsb` contains 13 VBA modules. Each is described below.
|
||||
|
||||
#### Module Overview
|
||||
|
||||
| Module | Type | Role |
|
||||
|---|---|---|
|
||||
| `ThisWorkbook.cls` | Workbook class | Displays the loading screen when the file is opened |
|
||||
| `A_MailManager.bas` | Standard module | Main orchestrator — email handling and operator queuing |
|
||||
| `B_CompareChannels.bas` | Standard module | Channel-matching engine (fuzzy match + bundle logic) |
|
||||
| `B_MAPPING.bas` | Standard module | Auxiliary data-mapping helpers |
|
||||
| `R_MROSA_EXCL.bas` | Standard module | Excel / ODS report processor |
|
||||
| `R_ERAP_SOP.bas` | Standard module | Nasza Wizja SOP report processor |
|
||||
| `R_MROSA_PDF.bas` | Standard module | PDF report processor (OCR text) |
|
||||
| `R_MROSA_DOC.bas` | Standard module | Word document processor (legacy / fallback path) |
|
||||
| `A_AIS_file.bas` | Standard module | AIS file import and output file export |
|
||||
| `X_Funcitons.bas` | Standard module | Utility functions (regex, text cleaning) |
|
||||
| `X_RangeToHTML.bas` | Standard module | Excel range → HTML conversion (for email body) |
|
||||
| `frmLoading.frm` | UserForm | Splash / loading screen |
|
||||
| `frmProgressForm.frm` | UserForm | Progress bar during import |
|
||||
|
||||
---
|
||||
|
||||
#### `ThisWorkbook.cls` — startup
|
||||
|
||||
Single procedure: `Workbook_Open()` — triggered automatically when the file is opened. Calls `ShowLoadingScreen`, which displays `frmLoading` briefly before handing control back to the user.
|
||||
|
||||
---
|
||||
|
||||
#### `A_MailManager.bas` — main orchestrator
|
||||
|
||||
Contains the global variables used throughout the macro:
|
||||
|
||||
| Global variable | Type | Description |
|
||||
|---|---|---|
|
||||
| `EImportFile` | String | Full path to the downloaded attachment |
|
||||
| `EDate` | String | Report date for the operator |
|
||||
| `EType` | String | File type (xlsx / pdf / ods) |
|
||||
| `EBundle` | String | Bundle channel name (e.g. `NAT GEO CORE`) |
|
||||
| `SpecBundle` | Boolean | Whether a special bundle (NAT GEO CORE sum) applies |
|
||||
| `MFileName` | String | Name of the .msg archive file to save |
|
||||
| `ServMonth` | Integer | Service month number (1–12) |
|
||||
|
||||
**Main procedure: `Import_Mails_and_Call_Macros`**
|
||||
|
||||
Step by step:
|
||||
|
||||
1. **Connect to Outlook** — reads the mailbox name from cell `I3` of the MACRO sheet.
|
||||
2. **Iterate the inbox** — loops over all items in reverse order (newest first).
|
||||
3. **Identify the operator** — two mechanisms:
|
||||
- Match sender email address against column C in `MailManager_Mapping`
|
||||
- If no match: search for the operator name in the email body
|
||||
4. **Nasza Wizja path** — if sender is `noreply-sop@naszawizja.org`, the macro uses column R of the mapping and calls `R_ERAP_SOP.Run`.
|
||||
5. **Download attachment** — saved to `Import\[country]\[affiliate_id]\[name]-[timestamp]_[file]`; a `.msg` archive is saved alongside it.
|
||||
6. **Invoke sub-macro** — `Application.Run Emacro` (value from the `Call Macro` column in the mapping, e.g. `R_MROSA_EXCL.Run`).
|
||||
7. **On success** — email moved to the `Completed import` subfolder; Outlook category set.
|
||||
8. **On error** — exception logged in the `Error_Log` sheet (fields: Email, Topic, Client, Country, Error, Reason, Date).
|
||||
|
||||
---
|
||||
|
||||
#### `B_CompareChannels.bas` — matching engine
|
||||
|
||||
Two key procedures:
|
||||
|
||||
**`FuzzyMatch(s1, s2) → Boolean`**
|
||||
|
||||
Channel name matching algorithm:
|
||||
- Computes the Levenshtein distance between two strings
|
||||
- Distance ≤ 2 → returns `True` (match)
|
||||
- Additionally: hard-coded aliases for Polish variant names:
|
||||
|
||||
| Variant in operator report | Channel name in AIS |
|
||||
|---|---|
|
||||
| `NATIONAL GEOGRAPHIC` | `NAT GEO CORE` |
|
||||
| `NATIONAL GEOGRAPHIC WILD` | `NAT GEO WILD` |
|
||||
| `NATIONAL GEOGRAPHIC PEOPLE` | `NAT GEO PEOPLE` |
|
||||
| `DISNEY` | `DISNEY CHANNEL` |
|
||||
| `FOX` | `FX` |
|
||||
| `FOX COMEDY` | `FX COMEDY` |
|
||||
|
||||
**`Compare()`**
|
||||
|
||||
Main comparison procedure:
|
||||
1. Filters the `AIS Import` sheet by the current operator's affiliate ID
|
||||
2. Copies matching records into the `Temp` sheet
|
||||
3. For each channel in the operator's report: attempts `FuzzyMatch` against every channel name in AIS
|
||||
4. On match: writes the subscriber count into the corresponding row in `AIS Export`
|
||||
5. No match: writes `Not Found`
|
||||
6. If `SpecBundle = True`: calls `Sum_NATGEOCORE` (sums NAT GEO CORE values across multiple sub-operators)
|
||||
|
||||
---
|
||||
|
||||
#### `B_MAPPING.bas` — mapping helpers
|
||||
|
||||
**`Sum_NATGEOCORE`** — sums NAT GEO CORE subscriber values from the `Temp` sheet (used when one operator reports multiple systems).
|
||||
|
||||
**`Mapping_Sysnbr`** — remaps the system number when the operator name in the file differs from the name registered in AIS (e.g. the operator has been renamed).
|
||||
|
||||
---
|
||||
|
||||
#### `R_MROSA_EXCL.bas` — Excel / ODS processor
|
||||
|
||||
Processes reports in `.xlsx`, `.xls`, or `.ods` format.
|
||||
|
||||
Algorithm:
|
||||
1. Creates a working sheet named `Temp`
|
||||
2. Opens the operator file with `Workbooks.Open`
|
||||
3. Locates headers using `Range.Find`:
|
||||
- `"raport o stanie"` → row containing the month name
|
||||
- `"SUMA"` → totals row (end of data)
|
||||
- `"Pakiet"` → column containing package codes
|
||||
4. **Month validation** — compares the month found in the file against `ServMonth`; mismatch → sets `varReason = "Incorrect month"` and exits
|
||||
5. **Row loop** — for each data row:
|
||||
- `Val1` = channel name
|
||||
- `Val2` = package code
|
||||
- `Val3` = system number (SYSTEM-ID)
|
||||
- `Val4` = affiliate number (AFFILIATE-ID)
|
||||
- `Val5` = subscriber count (average: (month start + month end) / 2)
|
||||
6. Calls `Compare()` → results written to `AIS Export`
|
||||
7. Fills columns 16–17 (bundle indicator) after Compare completes
|
||||
|
||||
---
|
||||
|
||||
#### `R_ERAP_SOP.bas` — Nasza Wizja processor
|
||||
|
||||
Processes files from the Nasza Wizja platform (SOP format — fixed column layout).
|
||||
|
||||
Differences from `R_MROSA_EXCL`:
|
||||
- Channels: column B; packages: column F; subscribers: column E — fixed positions
|
||||
- Data starts at row 19
|
||||
- Month read from cell C15
|
||||
- Multiple rows may relate to different Nasza Wizja sub-operators (separate iteration over column R of the mapping)
|
||||
|
||||
---
|
||||
|
||||
#### `R_MROSA_PDF.bas` — PDF processor
|
||||
|
||||
Processes reports converted from PDF to plain text (by PdfGrabber).
|
||||
|
||||
Algorithm:
|
||||
1. Opens the text file (`.txt`) — OCR output
|
||||
2. Regex `"za okres:"` → extracts the reporting month
|
||||
3. Regex `"arytmetyczna"` → extracts average subscriber values (Polish decimal format: comma as decimal separator)
|
||||
4. Parses text lines, builds a data structure identical to the EXCL processor
|
||||
5. Calls `Compare()` → results in `AIS Export`
|
||||
|
||||
---
|
||||
|
||||
#### `R_MROSA_DOC.bas` — Word processor (legacy)
|
||||
|
||||
Alternative path for operators who send reports as Word documents (`.doc` / `.docx`).
|
||||
|
||||
- Opens the document via COM (`CreateObject("Word.Application")`)
|
||||
- Parsing logic analogous to R_MROSA_EXCL
|
||||
- Rarely used in practice (most operators use Excel)
|
||||
|
||||
---
|
||||
|
||||
#### `A_AIS_file.bas` — AIS file handler
|
||||
|
||||
Two procedures:
|
||||
|
||||
**`AISimp()`** — import data from the AIS central system:
|
||||
- Opens a file dialog (`Application.GetOpenFilename`) — user selects the AIS file
|
||||
- Pastes range A2:U[lastRow] into the `AIS Import` sheet
|
||||
- Updates cell `I30` of the MACRO sheet with the loaded file name
|
||||
|
||||
**`AISxpt()`** — export results to file:
|
||||
- Copies the contents of the `AIS Export` sheet
|
||||
- Removes the header row and column 22
|
||||
- Saves as `System Reports\Export\Exported data_DD.MM.YY.xlsx`
|
||||
|
||||
---
|
||||
|
||||
#### `X_Funcitons.bas` — utility functions
|
||||
|
||||
| Function | Description |
|
||||
|---|---|
|
||||
| `RemoveCommaInValue(s)` | Removes commas from numeric values (Polish format → AIS format) |
|
||||
| `RemoveSpecialChars(s)` | Strips special characters from operator names (regex) |
|
||||
| `RegExpExtract(s, pattern)` | Extracts a substring using a regular expression |
|
||||
| `CountLinesOfCode()` | Counts VBA lines of code in the file (developer tool) |
|
||||
|
||||
---
|
||||
|
||||
#### `X_RangeToHTML.bas` — range to HTML
|
||||
|
||||
Function `RangetoHTML(rng As Range) → String`:
|
||||
- Saves the given range as a temporary HTML file
|
||||
- Reads it back as a string
|
||||
- Used when generating an email body containing a formatted data table (readable by the recipient)
|
||||
|
||||
---
|
||||
|
||||
#### `frmLoading.frm` — loading screen
|
||||
|
||||
A simple UserForm displayed when the file is opened. Contains a logo/graphic and a `CloseForm()` method. Closed automatically after initialisation (`Workbook_Open`) completes.
|
||||
|
||||
---
|
||||
|
||||
#### `frmProgressForm.frm` — progress bar
|
||||
|
||||
UserForm with a progress bar shown during email import. The `UserForm_Activate` procedure calls the `MailManager` procedure (the actual import logic) and displays the message `"Import in progress..."`. The progress bar is updated as each email is processed.
|
||||
|
||||
---
|
||||
|
||||
## 2. Subupload with Bundled Indicator.xlsx — Upload File
|
||||
|
||||
This file is used to **manually or semi-automatically upload data to the AIS system**. It contains one sheet, `Report 1`, with **5,029 rows** of global data (not limited to Poland).
|
||||
|
||||
### Data Scope
|
||||
- **78 countries** — a global view covering all EMEA and further markets
|
||||
- **22 Disney legal entities**
|
||||
- **39 channels** (networks)
|
||||
- **355 package names** / 360 package codes
|
||||
- **5 reporting frequencies**
|
||||
|
||||
### Structure (22 columns — identical to AIS Import)
|
||||
|
||||
| Column | Description |
|
||||
|---|---|
|
||||
| AFFILIATE-ID | Affiliate ID |
|
||||
| COUNTRY-SERVED | Country code |
|
||||
| STATE-SERVED | Region |
|
||||
| CITY-SERVED | City |
|
||||
| SYSTEM-NAME | Operator system name |
|
||||
| SYSTEM-ID | System ID |
|
||||
| NETWORK | Channel ID (numeric) |
|
||||
| SERVICE-CODE | Package code |
|
||||
| CABLE-HOUSEHOLDS | Number of households with access |
|
||||
| SUBSCRIBERS | **Subscriber count to be reported** |
|
||||
| SMSO-IND | SMSO indicator |
|
||||
| PO-NUMBER | Purchase order number |
|
||||
| SERVICE-MONTH | Month (1–12) |
|
||||
| SERVICE-YEAR | Year |
|
||||
| NETWORK-NAME | Channel name |
|
||||
| SERVICE-NAME | Package name |
|
||||
| Frequency | Frequency (MONTHLY / QUARTERLY / etc.) |
|
||||
| Last Reported Subs | Previously reported count |
|
||||
| Last Date | Date of previous report |
|
||||
| Service Area | Service area |
|
||||
| Legal Entity | Disney legal entity |
|
||||
| Bundled | `Yes` if the package is bundled |
|
||||
|
||||
### How It Is Used
|
||||
|
||||
1. After processing all operator reports, `SR_Macro.xlsb` updates the `SUBSCRIBERS` field for Polish (and other) operator records
|
||||
2. The user verifies data in the `AIS Export` sheet (comparison view)
|
||||
3. The file is then uploaded to the Disney AIS portal manually
|
||||
|
||||
### The Bundled Column — Explanation
|
||||
`Bundled = Yes` means the operator has purchased a bundled package (e.g. `PL13 = ALL DISNEY/BABY/FX/NG`). A single subscriber figure then covers multiple channels simultaneously. The macro must account for this when mapping data channel-by-channel into AIS.
|
||||
|
||||
### Key Legal Entities
|
||||
|
||||
| Code | Country |
|
||||
|---|---|
|
||||
| `TWDCPO` | Poland (The Walt Disney Company Poland) |
|
||||
| `TWDCDE` | Germany |
|
||||
| `TWDCGB` | United Kingdom (global FNG EMEA entity) |
|
||||
| `TWDCBG` | Balkans / Central Europe |
|
||||
| `TWDCFR` | France |
|
||||
| `TWDCSEA` | Southeast Asia |
|
||||
|
||||
---
|
||||
|
||||
## 3. folder create.bat — Folder Creation Script
|
||||
|
||||
A Windows command-line (`cmd`) batch script that creates the operator folder structure inside `Import/POL/`.
|
||||
|
||||
### Script content (excerpt)
|
||||
```bat
|
||||
md 12781
|
||||
md 12784
|
||||
md 12786
|
||||
...
|
||||
md 15258
|
||||
```
|
||||
|
||||
### What it does
|
||||
- Creates **~246 numeric sub-folders**
|
||||
- Each number is an **affiliate ID** from the AIS system (the `AFFILIATE-ID` column in `MailManager_Mapping`)
|
||||
- These folders are the drop target for `.xlsx` and `.msg` files received from operators
|
||||
|
||||
### How to run
|
||||
1. Open a Command Prompt (`cmd`) in the `Import/POL/` directory
|
||||
2. Execute: `folder create.bat`
|
||||
3. Folders will be created; if a folder already exists, `md` will print an error but the script continues
|
||||
|
||||
### ID Range
|
||||
- Lowest: `12781`
|
||||
- Highest: `15258`
|
||||
- Most IDs correspond to operators in `MailManager_Mapping`; a few may be reserved for future use
|
||||
|
||||
### Note
|
||||
The script is intended for one-time execution during initial system setup or when new operators are onboarded. It is not required for day-to-day macro operation.
|
||||
|
||||
---
|
||||
|
||||
## 4. icon.ico — Application Icon
|
||||
|
||||
A Windows icon file (`.ico` format) used by the shortcut `SR_Macro - Shortcut.lnk`. It gives the shortcut a recognisable appearance on the desktop or in Windows Explorer. It has no effect on system behaviour.
|
||||
|
||||
---
|
||||
|
||||
## 5. End-to-End Data Flow
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────┐
|
||||
│ CABLE / IPTV OPERATOR │
|
||||
│ Fills in the Excel template (SUB REPORT sheet): │
|
||||
│ - channels, packages, subscriber counts (start / end of │
|
||||
│ month) │
|
||||
│ Sends to: intl.emea.poland.subs.reports@disney.com │
|
||||
│ Subject: RAPORTY │
|
||||
└──────────────────────┬───────────────────────────────────────┘
|
||||
│ email with .xlsx / .ods / .pdf attachment
|
||||
▼
|
||||
┌──────────────────────────────────────────────────────────────┐
|
||||
│ OUTLOOK MAILBOX │
|
||||
│ DWSS.Autocashsupport@disney.com │
|
||||
└──────────────────────┬───────────────────────────────────────┘
|
||||
│ Macro scans the inbox
|
||||
▼
|
||||
┌──────────────────────────────────────────────────────────────┐
|
||||
│ SR_Macro.xlsb — Sheet: MailManager │
|
||||
│ 1. Identify sender → look up in MailManager_Mapping │
|
||||
│ 2. Download attachment → Import/POL/[affiliate_id]/ │
|
||||
│ 3. Save .msg (email archive) │
|
||||
│ 4. Log entry in MailManager (sender, subject, time, │
|
||||
│ status=New) │
|
||||
└──────────────────────┬───────────────────────────────────────┘
|
||||
│ Invoke sub-macro
|
||||
▼
|
||||
┌──────────────────────────────────────────────────────────────┐
|
||||
│ R_MROSA_EXCL.Run or R_MROSA_PDF.Run │
|
||||
│ - Parse operator file (SUB REPORT sheet) │
|
||||
│ - Map channels and packages via the Mapping sheet │
|
||||
│ - Retrieve historical data from AIS Import │
|
||||
│ - Calculate average = (month start + month end) / 2 │
|
||||
│ - Detect bundles (Bundled=Yes) → one record covers N chans │
|
||||
└──────────────────────┬───────────────────────────────────────┘
|
||||
│
|
||||
┌────────────┴──────────────┐
|
||||
▼ ▼
|
||||
┌─────────────────────┐ ┌──────────────────────────────────┐
|
||||
│ AIS Export │ │ Admin/Export/PL/[Operator]/ │
|
||||
│ Comparison: │ │ YYYYMMDD_HHMMSS_DISNEY10...xls │
|
||||
│ new vs historical │ │ YYYYMMDD_HHMMSS_[email_subj].msg│
|
||||
│ Match / ok / Diff. │ └──────────────────────────────────┘
|
||||
└─────────────────────┘
|
||||
│
|
||||
▼
|
||||
┌──────────────────────────────────────────────────────────────┐
|
||||
│ Subupload with Bundled Indicator.xlsx │
|
||||
│ SUBSCRIBERS field updated for Polish (and other) operators │
|
||||
└──────────────────────┬───────────────────────────────────────┘
|
||||
│ Manual upload via AIS portal
|
||||
▼
|
||||
┌──────────────────────────────────────────────────────────────┐
|
||||
│ AIS — Disney Affiliate Information System │
|
||||
│ Central subscriber database │
|
||||
│ Generates → System Reports/Import/P[MM]_FY[YY]_Subs_report │
|
||||
└──────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 6. Glossary
|
||||
|
||||
| Term | Explanation |
|
||||
|---|---|
|
||||
| **AIS** | Affiliate Information System — Disney's central system for collecting subscriber data |
|
||||
| **Affiliate** | An operator holding a Disney licence agreement; identified by AFFILIATE-ID |
|
||||
| **System** | A specific cable / IPTV network belonging to an affiliate; one affiliate may have multiple systems (SYSTEM-ID) |
|
||||
| **Bundle / Bundled** | A combined package — the operator has purchased a single tier covering multiple Disney channels simultaneously |
|
||||
| **Service Code** | The internal package code used by the operator (e.g. `DBA`, `PL13`) — resolved via the Mapping sheet |
|
||||
| **Legal Entity** | The Disney legal entity that issues invoices (e.g. `TWDCPO` = The Walt Disney Company Poland) |
|
||||
| **Nasza Wizja** | A Polish distribution platform aggregating smaller cable operators |
|
||||
| **R_MROSA_EXCL** | VBA sub-macro for processing Excel / ODS files |
|
||||
| **R_MROSA_PDF** | VBA sub-macro for processing PDF files |
|
||||
| **SMSO-IND** | Same Month Submission Only Indicator — an AIS system flag |
|
||||
| **FNG EMEA** | Fox Networks Group EMEA — the Disney unit responsible for FX / NGC channels in EMEA |
|
||||
| **Service Month / Year** | The month and year for which subscriber data is being reported |
|
||||
| **Last Reported Subs** | Data from the previous report — used as the baseline for the `Compare` column in AIS Export |
|
||||
| **Frequency** | Reporting cadence: `MONTHLY`, `QUARTERLY`, `SEMI ANNUALLY`, `ANNUALLY` |
|
||||
287
Generic Documentation.md
Normal file
287
Generic Documentation.md
Normal file
@@ -0,0 +1,287 @@
|
||||
# Documentation: Subscribers Reporting Automation
|
||||
|
||||
## Table of Contents
|
||||
1. [System Overview](#1-system-overview)
|
||||
2. [Folder Structure](#2-folder-structure)
|
||||
3. [Main Components](#3-main-components)
|
||||
4. [File Naming Conventions](#4-file-naming-conventions)
|
||||
5. [Workflow](#5-workflow)
|
||||
6. [Operator List](#6-operator-list)
|
||||
7. [System Reports](#7-system-reports)
|
||||
|
||||
---
|
||||
|
||||
## 1. System Overview
|
||||
|
||||
**Subscribers Reporting Automation** is an Excel VBA macro-based system for automating the subscriber reporting process for Disney channel packages distributed by Polish cable and IPTV operators.
|
||||
|
||||
### Purpose
|
||||
- Automatically process subscriber reports received from operators
|
||||
- Generate and distribute standardised reports back to operators
|
||||
- Support the Polish market (PL/POL) for Disney channel package distribution
|
||||
|
||||
### Package
|
||||
Primary package covered by reporting: **DISNEY10** (Disney channel bundle).
|
||||
|
||||
---
|
||||
|
||||
## 2. Folder Structure
|
||||
|
||||
```
|
||||
Subscribers Reporting Automation/
|
||||
│
|
||||
├── Admin/ # Administration folder (system core)
|
||||
│ ├── SR_Macro.xlsb # Main Excel macro file
|
||||
│ ├── Subupload with Bundled Indicator.xlsx # AIS upload file
|
||||
│ ├── icon.ico # Application icon
|
||||
│ ├── folder create.bat # Operator folder creation script
|
||||
│ │
|
||||
│ └── Export/
|
||||
│ └── PL/ # Export for the Polish market
|
||||
│ ├── [Operator Name]/ # One folder per operator
|
||||
│ │ ├── *.xls # Generated Excel reports
|
||||
│ │ └── *.msg # Outlook email archives
|
||||
│ │
|
||||
│ └── Nasza Wizja/ # Sub-distribution platform
|
||||
│ └── [Operator Name]/
|
||||
│
|
||||
├── Import/
|
||||
│ └── POL/ # Import for the Polish market
|
||||
│ └── [Operator ID]/ # Folder named by numeric operator ID
|
||||
│ ├── [Operator] - [timestamp]_Disney*.xlsx
|
||||
│ └── [Operator] - [timestamp]_RAPORTY.msg
|
||||
│
|
||||
├── System Reports/ # System-level reports
|
||||
│ ├── Export/ # Data exported from the system
|
||||
│ │ └── Exported data_DD.MM.YY.xlsx
|
||||
│ └── Import/ # Data imported into the system
|
||||
│ └── P[period]_FY[year]_Subs_report DD.MM.YYYY.xlsx
|
||||
│
|
||||
└── SR_Macro - Shortcut.lnk # Shortcut to the main macro file
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 3. Main Components
|
||||
|
||||
### `Admin/SR_Macro.xlsb` — Main Macro
|
||||
An Excel Binary Workbook (`.xlsb`) containing VBA macros that execute the entire automation process. This is the central component of the system.
|
||||
|
||||
**Functions:**
|
||||
- Read operator reports from the `Import/POL/` folder
|
||||
- Process and validate subscriber data
|
||||
- Generate standardised reports (`.xls`)
|
||||
- Create and archive email messages (`.msg`)
|
||||
- Write results to `Admin/Export/PL/`
|
||||
|
||||
### `Admin/folder create.bat` — Folder Creation Script
|
||||
A Windows batch script that creates numeric sub-folders inside `Import/POL/`. Each folder corresponds to a numeric operator ID in the system.
|
||||
|
||||
Folders created (example operator IDs): `12781`, `12784`, ..., `15258`
|
||||
|
||||
### `Admin/Subupload with Bundled Indicator.xlsx`
|
||||
The file used to upload processed subscriber data — including bundled-package indicators — to the Disney AIS portal.
|
||||
|
||||
### `System Reports/`
|
||||
System-level reporting files:
|
||||
- **Export**: Data exported from the system — `Exported data_*.xlsx` files dated by export day
|
||||
- **Import**: Subscriber reports imported from the central system — `P[period]_FY[year]_Subs_report *.xlsx` files (e.g. `P07_FY24` = Period 7 / Fiscal Year 2024)
|
||||
|
||||
---
|
||||
|
||||
## 4. File Naming Conventions
|
||||
|
||||
### Export reports (.xls)
|
||||
```
|
||||
YYYYMMDD_HHMMSS_DISNEY10thismonth[OperatorID][YYYYMM].xls
|
||||
```
|
||||
Example: `20240410_134855_DISNEY10thismonth88202311.xls`
|
||||
- `20240410` — report generation date (10 April 2024)
|
||||
- `134855` — generation time (13:48:55)
|
||||
- `DISNEY10` — channel package
|
||||
- `thismonth` — current-month report
|
||||
- `88` — operator ID
|
||||
- `202311` — reporting period (November 2023)
|
||||
|
||||
### Export email archives (.msg)
|
||||
```
|
||||
YYYYMMDD_HHMMSS_[email_subject].msg
|
||||
```
|
||||
The email subject encodes the date, operator name and reporting month, e.g.:
|
||||
`12.10.23NaszaWizjaRaportabonenckiodfirmyORIONBaejHesszamiesicLISTOPAD`
|
||||
|
||||
### Import files (.xlsx)
|
||||
```
|
||||
[Operator Name] - YYYYMMDDHHMMSS_Disney[package].xlsx
|
||||
```
|
||||
Example: `CITY NET SP ZOO - 20240614111758_DisneyC.N..xlsx`
|
||||
|
||||
### Import email archives (.msg)
|
||||
```
|
||||
[ID][Operator Name] - YYYYMMDDHHMMSS_RAPORTY.msg
|
||||
```
|
||||
|
||||
### System reports
|
||||
- Export: `Exported data_DD.MM.YY.xlsx`
|
||||
- Import: `P[MM]_FY[YY]_Subs_report DD.MM.YYYY.xlsx`
|
||||
|
||||
---
|
||||
|
||||
## 5. Workflow
|
||||
|
||||
```
|
||||
[Operator] --sends report--> [Import/POL/ID/] --processed by SR_Macro--> [Export/PL/Operator/]
|
||||
|
|
||||
v
|
||||
[System Reports/Export/]
|
||||
(data aggregated for AIS upload)
|
||||
```
|
||||
|
||||
### Step 1: Import operator reports
|
||||
Cable/IPTV operators send monthly subscriber reports:
|
||||
- `.xlsx` files are saved to `Import/POL/[operator_id]/`
|
||||
- Associated email messages (`.msg`) are archived in the same folder
|
||||
|
||||
### Step 2: Processing by SR_Macro.xlsb
|
||||
The Excel macro reads the imported files, validates the data, and generates reports in the format required by Disney.
|
||||
|
||||
### Step 3: Export reports to operators
|
||||
Generated files are written to `Admin/Export/PL/[Operator Name]/`:
|
||||
- `.xls` — subscriber report for the operator
|
||||
- `.msg` — archived copy of the outbound email
|
||||
|
||||
### Step 4: System reporting
|
||||
Aggregated data is exported to `System Reports/Export/` and imported into the central Disney system via `System Reports/Import/`.
|
||||
|
||||
---
|
||||
|
||||
## 6. Operator List
|
||||
|
||||
### Direct operators (Admin/Export/PL/)
|
||||
| Operator | Notes |
|
||||
|---|---|
|
||||
| AP MEDIA | |
|
||||
| ASTA-NET / ASTA GROUP | |
|
||||
| AVIOS | Formerly KORBANK MEDIA C |
|
||||
| Beskidzka Telewizja Kablowa Bestkabel | |
|
||||
| BIALOGARDZKA SPOLDZIELNIA | |
|
||||
| BYDGOSKA TK GAWEX / Gawex-Media | |
|
||||
| CANAL+ POLSKA S.A. | |
|
||||
| CASTOR ENTERPRISE | Formerly FERO AGNIESZKA BUDNER |
|
||||
| CG Multimedia | |
|
||||
| CHOPIN TELEWIZJA KABLOWA | Formerly TK CHOPIN |
|
||||
| CITY NET / CITY SAT GORDZIELIK / CITYNET | |
|
||||
| CYFROWY POLSAT S.A. | incl. IPLA and OTT |
|
||||
| CZESTOCHOWSKA SM NASZA PRACA | |
|
||||
| Debacom | |
|
||||
| DOLSAT | |
|
||||
| DOMEL MEDIA | |
|
||||
| EAST & WEST | |
|
||||
| ELART | Formerly Stanislaw Zakrzewski |
|
||||
| ELEKTRONIX TELEKOGK Sp. k. | |
|
||||
| ELPOS | |
|
||||
| ELTRONIK | Formerly Eltronik Media Sp.k. |
|
||||
| ELWICO SC | |
|
||||
| EURONET / EURONET Norbert Saniewski Sp.J. | |
|
||||
| G-NET T | Formerly WWNET Bozena Furgol |
|
||||
| Global Media | |
|
||||
| Gorzowska Telewizja Przewodowa | |
|
||||
| GRABOWSKI MARIUSZ INTERARENA / InterArena | |
|
||||
| HORYZONT MEDIA SA | |
|
||||
| HRUBIESZOWSKA TELEWIZJA KABLOWA SC | |
|
||||
| IDEALAN | Formerly IDEALAN SPOLKA JAWNA |
|
||||
| IMPERIUM TELECOM CZESLAW CHLEWICKI | |
|
||||
| INEA S.A. | DC, NG & FOX |
|
||||
| INFO-ART | |
|
||||
| INSANT S.C. | J.Jasinski, R.Mieszkowicz |
|
||||
| Integra, Pawel Mroz | |
|
||||
| INTERNET UNION SA | |
|
||||
| ITV MEDIA | |
|
||||
| JG Satel | |
|
||||
| JMDI JACEK MALESZKO | |
|
||||
| Karpacka Spoldzielnia Mieszkaniowa | |
|
||||
| KOBA | |
|
||||
| Konecka Spoldzielnia Mieszkaniowa | |
|
||||
| Korbank Data Center | |
|
||||
| Lnet | |
|
||||
| MARINEX-AMPOL 2 TELEWIZJA KABLOWA | |
|
||||
| MAZOWIECKIE SS (KONSTANCIN NET PL) | |
|
||||
| Media Management Europe Sp. k. | |
|
||||
| MEDIASAT S.C. | |
|
||||
| MEGOGO.PL | |
|
||||
| METROPORT | |
|
||||
| Miedzyzakladowa SM Chemik | |
|
||||
| MLODZIEZOWA SM / MSM METALOWIEC | |
|
||||
| Multiplay Sp. K. | |
|
||||
| Myszkowska Telewizja Kablowa | |
|
||||
| **Nasza Wizja** | Distribution sub-platform (see below) |
|
||||
|
||||
### Operators under Nasza Wizja (Admin/Export/PL/Nasza Wizja/)
|
||||
| Operator | Notes |
|
||||
|---|---|
|
||||
| Akasha | |
|
||||
| ALFAFIBER | |
|
||||
| AMBIT | |
|
||||
| AMPLUS | |
|
||||
| ANetConnect | |
|
||||
| AP MEDIA | |
|
||||
| AVIOS | |
|
||||
| BESKID MEDIA | |
|
||||
| DAMIAN MURZYNOWSKI NASZASIEC.NET | |
|
||||
| EZBIT | |
|
||||
| FIBERWAY | |
|
||||
| FINEMEDIA | |
|
||||
| Firma Handlowa Giga | |
|
||||
| HAKER MATEUSZ DYMITRUK | |
|
||||
| HYPERNET | |
|
||||
| INET CENTRUM | |
|
||||
| INSTALNET SZABAT | |
|
||||
| INTB SP ZOO | |
|
||||
| INTERQ | |
|
||||
| INTERTELL | |
|
||||
| KM-NET | |
|
||||
| KOMPEX | |
|
||||
| LANNET S.C. | |
|
||||
| LIQUID SYSTEMS | |
|
||||
| MATRONIX Marcin Moczulski | |
|
||||
| Metrosan | |
|
||||
| MTM-INFO | |
|
||||
| MULTICOM | |
|
||||
| NETSERVICE | |
|
||||
| NOWOGROD.NET | |
|
||||
| ORION | |
|
||||
| Shentel | |
|
||||
| TONETIC GROUP | |
|
||||
|
||||
---
|
||||
|
||||
## 7. System Reports
|
||||
|
||||
### System Reports/Import/
|
||||
Reports downloaded from the central AIS system. Naming convention: `P[Period]_FY[Fiscal Year]_Subs_report [date].xlsx`
|
||||
|
||||
| File | Description |
|
||||
|---|---|
|
||||
| `P05_FY24_Subs_report 21.02.2024.xlsx` | Period 5 / FY2024 |
|
||||
| `P07_FY24_Subs_report 24.04.2024.xlsx` | Period 7 / FY2024 |
|
||||
| `P08_FY24_Subs_report 01.05.2024.xlsx` | Period 8 / FY2024 |
|
||||
|
||||
### System Reports/Export/
|
||||
Data exported to the central system. Naming convention: `Exported data_[DD.MM.YY].xlsx`
|
||||
|
||||
| File | Export date |
|
||||
|---|---|
|
||||
| `Exported data_11.04.24.xlsx` | 11 April 2024 |
|
||||
| `Exported data_16.04.24.xlsx` | 16 April 2024 |
|
||||
| `Exported data_25.04.24.xlsx` | 25 April 2024 |
|
||||
| `Exported data_13.05.24.xlsx` | 13 May 2024 |
|
||||
| `Exported data_30.05.24.xlsx` | 30 May 2024 |
|
||||
|
||||
---
|
||||
|
||||
## Technical Notes
|
||||
|
||||
- The `.xlsb` macro file (Excel Binary Workbook) requires Microsoft Excel with VBA macro execution enabled
|
||||
- `.msg` files are Outlook messages — they require Microsoft Outlook or a compatible reader
|
||||
- `folder create.bat` must be run on Windows from inside the `Import/POL/` directory
|
||||
- `SR_Macro - Shortcut.lnk` assumes a Windows installation — the target path may need updating if files are moved
|
||||
Reference in New Issue
Block a user