all scripts
This commit is contained in:
69
grab_cm_excel_dates.ps1
Normal file
69
grab_cm_excel_dates.ps1
Normal file
@@ -0,0 +1,69 @@
|
||||
#Declare data
|
||||
Add-Type -Assembly "Microsoft.Office.Interop.Outlook"
|
||||
$Data = Import-Excel -WorkSheetName "New_Outline" -NoHeader -DataOnly "\\thalesgroup.local\shares\Public\_TogD\03_Release_Management\Planning with I&O\2023\Weekly planning W08-W10-2023_MoM.xlsx"
|
||||
#$Data = Import-Excel -WorkSheetName "New_Outline" -NoHeader -DataOnly "C:\Users\a.warme\Downloads\AlexScriptData2.xlsx"
|
||||
$CsvData= Import-CSV -Path "C:\Users\a.warme\Documents\csvcheckfile\Outfile.csv"
|
||||
|
||||
#Declare Outlook information
|
||||
$Ol = New-Object -ComObject Outlook.Application
|
||||
|
||||
#emails
|
||||
$AllanEmail="allan.schwedler@urbanandmainlines.com"
|
||||
$MartinEmail="martin.nielsen@urbanandmainlines.com"
|
||||
$AlexanderEmail="alexander.warme@urbanandmainlines.com"
|
||||
|
||||
#P2 - Tasks
|
||||
#P3 - Owner
|
||||
#P4 - Platform
|
||||
#P5 - DateTime
|
||||
#P9 - Task Category
|
||||
|
||||
#foreach loop to create an appointment for each row in excel
|
||||
foreach ($Row in $Data) {
|
||||
if ($Row.P1 -eq "New"){continue}
|
||||
|
||||
if ($CsvData | Where-Object -Property Subject -eq $Row.P2 -WarningAction SilentlyContinue){continue}
|
||||
|
||||
|
||||
# Import the Outlook interop assembly
|
||||
$Appointment = $Ol.CreateItem(1)
|
||||
$SubjectTitle = $Row.P2 + " " + $Row.P4 + " " + $Row.P9
|
||||
$SubjectTitle
|
||||
$Appointment.Subject = "$SubjectTitle"
|
||||
$Appointment.Body = $Row.P2 + " " + $Row.P3 + " " + $Row.P4 + " " + $Row.P9
|
||||
$Appointment.Location = $Row.P4
|
||||
$Appointment.ReminderSet = $true
|
||||
$Appointment.Importance = 1
|
||||
$Appointment.MeetingStatus = [Microsoft.Office.Interop.Outlook.OlMeetingStatus]::olMeeting
|
||||
|
||||
#assign email to owner on appointment
|
||||
|
||||
switch($Row.P3) {
|
||||
Allan {$Appointment.Recipients.Add($AllanEmail)}
|
||||
|
||||
Martin {$Appointment.Recipients.Add($MartinEmail)}
|
||||
|
||||
Alexander {$Appointment.Recipients.Add($AlexanderEmail)}
|
||||
|
||||
default {$Appointment.Recipients.Add($AlexanderEmail)}
|
||||
}
|
||||
|
||||
$Appointment.ReminderMinutesBeforeStart = 15
|
||||
$Appointment.Start = $Row.P5.AddHours(8)
|
||||
$Appointment.Duration = 480
|
||||
$Appointment.Send()
|
||||
|
||||
#consistency
|
||||
|
||||
$ArrayQ = @([PSCustomObject]@{Subject = $Row.P2 ; Id = 1 })
|
||||
#Export - Append the data to the existing file ("ExportFile.csv") or create a new file if it does not exist
|
||||
$ArrayQ | Export-CSV "C:\Users\a.warme\Documents\csvcheckfile\Outfile.csv" -Append -NoTypeInformation
|
||||
|
||||
}
|
||||
|
||||
#to destingush weeks and tasks
|
||||
#regex this : Weekly planning ([A-Za-z0-9]+(-[A-Za-z0-9]+)+)_
|
||||
# with file name to link previous tasks and weeks.
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user