Skip to content

Instantly share code, notes, and snippets.

@chrdek
Last active December 26, 2020 16:24
Show Gist options
  • Save chrdek/dcbc52f6ee68fa7f7d1fd2b156c4705e to your computer and use it in GitHub Desktop.
Save chrdek/dcbc52f6ee68fa7f7d1fd2b156c4705e to your computer and use it in GitHub Desktop.
Add daily tasks in excel - with SIG (with DD/MM/YYYY)
Function Modify-Excel([switch]$addSheet) {
$defaultdir = "$env:USERPROFILE\Documents\Spreadsheet_1.xlsx";
$xls = New-Object -ComObject Excel.Application; $xls.Visible = $false;
$xlShiftDown = -4121;
$fileModify = $xls.Workbooks.Open($defaultdir);
# select latest/current working month ..
$spreadSheet = $fileModify.ActiveSheet; # $fileModify.Worksheets | ?{ $_.Name -ilike "*2020" } | Select -Last 1
if ($addSheet) {
Try {
# Create an additional worksheet..
$Currentmonth = ([System.DateTime]::Now).ToLongDateString().Split(' ')[1];
$Nextmonth = ([System.DateTime]::Now.AddMonths(1)).ToLongDateString().Split(' ')[1];
$Currentyear = ([System.DateTime]::Now).ToLongDateString().Split(' ')[2];
$lastSheet = ($fileModify.Worksheets).Count();
Write-Host "Added worksheet #$($lastSheet + 1) to file.. after ws `'$(($fileModify.Worksheets | Select -Last 1).Name)`'"
$lastwsheet = $fileModify.Worksheets | Select -Last 1;
$addedsheet = $fileModify.Worksheets.Add($lastwsheet);
$addedsheet.Name = "Days_$($Nextmonth)_$Currentyear";
$lastwsheet.Move($addedsheet);
$addedsheet.Select();
$f=0;
for ($r=3; $r -lt 34; $r++) {
$valueDate = (([System.DateTime]::Now)).ToString("dd/MM/yyyy");
$addedSheet.Cells.Item($r,1) = (($valueDate -as [System.DateTime]).AddDays($f++));
}
}
Catch { Write-Warning "Error while adding to excel, duplicate sheet/error in name."; return $($null);}
}
# Create/Print daily input, UTF-16 encoded chars.
# input 1 - unicode string, label in code
[string]$el_syst_part1 += [Int[]]@(924,942,957,965,956,945) | %{$_ -as [char]};
[string]$el_syst_part2 += [Int[]]@(49) | %{$_ -as [char]};
# input 2 - unicode string, label in code
[string]$el_dat_part1 += [Int[]]@(924,942,957,973,956,945) | %{$_ -as [char]};
[string]$el_dat_part2 += [Int[]]@(51) | %{$_ -as [char]};
# input 3 - unicode string, label in code
[string]$an_dat_proc_part1 += [Int[]]@(931,951,956,949,943,969,963,951) | %{$_ -as [char]};
[string]$an_dat_proc_part2 += [Int[]]@(51,50) | %{$_ -as [char]};
# Create complete resulting strings..
[string]$el_syst = @($($el_syst_part1 -replace ' ',''),$($el_syst_part2 -replace ' ','')) -join ' ';
[string]$el_dat = @($($el_dat_part1 -replace ' ',''),$($el_dat_part2 -replace ' ','')) -join ' ';
[string]$an_dat_proc = @($($an_dat_proc_part1 -replace ' ',''),$($an_dat_proc_part2 -replace ' ','')) -join ' ';
$dailyTask = [string[]]@($($el_syst),
$($el_dat),
$($an_dat_proc))[$(Get-Random -Maximum 3)];
$dayissued = $([System.DateTime]::Now.ToShortDateString().Split('/')[0] -as [int]);
$spreadSheet.Cells.Item($($dayissued) + 2,3) = $dailyTask;
$spreadSheet.Cells.Item($($dayissued) + 2,4) = $dailyTask;
# Add to relevant cells.
$spreadSheet.Columns.Item('C').columnWidth = 40;
$spreadSheet.Columns.Item('D').columnWidth = 40;
$fileModify.Save();
$fileModify.Close();
$xls.Quit();
}
Modify-Excel
#Add a new month, new daily task tab on excel. Modify-Excel -addSheet;
Start-Process "$env:USERPROFILE\Documents\SpreadSheet_1.xlsx";
# SIG # Begin signature block
# MIIEGAYJKoZIhvcNAQcCoIIECTCCBAUCAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB
# gjcCAQSgWzBZMDQGCisGAQQBgjcCAR4wJgIDAQAABBAfzDtgWUsITrck0sYpfvNR
# AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQUnut52g64u/WgPrNfc8zmJ42a
# iLigggIvMIICKzCCAdCgAwIBAgIQP671MxE0Op1P87qxbgk5QDAKBggqhkjOPQQD
# AjBbMRMwEQYKCZImiZPyLGQBGRYDa29tMRUwEwYKCZImiZPyLGQBGRYFZXJyb3Ix
# FTATBgNVBAsMDFVzZXJBY2NvdW50czEWMBQGA1UEAwwNQ2hyaXN0b3MgVGVzdDAe
# Fw0yMDEyMjIxMTU2MzVaFw0yMTEyMjIxMjE2MzVaMFsxEzARBgoJkiaJk/IsZAEZ
# FgNrb20xFTATBgoJkiaJk/IsZAEZFgVlcnJvcjEVMBMGA1UECwwMVXNlckFjY291
# bnRzMRYwFAYDVQQDDA1DaHJpc3RvcyBUZXN0MFkwEwYHKoZIzj0CAQYIKoZIzj0D
# AQcDQgAEvhilEJNgpX+c/IGwUJ1x03FS4iEXjpLqD0H2ROqYyqzNF3MbY6MNEuSI
# pU8CcVR608lI+nHmuoib13jmfraLbKN2MHQwDgYDVR0PAQH/BAQDAgeAMBMGA1Ud
# JQQMMAoGCCsGAQUFBwMDMC4GA1UdEQQnMCWgIwYKKwYBBAGCNxQCA6AVDBNjaHJp
# c3Rlc3RAZXJyb3Iua29tMB0GA1UdDgQWBBSnqsSsh8Z1o6DpuYiG20a3dvu1IzAK
# BggqhkjOPQQDAgNJADBGAiEA7yVon21IoGplLfBScCb6bDD+wlFkvpuvdFvx9H/R
# GMkCIQClHwnAY0GT+4CCuxUv+J137OG2CHtrFH88WkVeA8ekITGCAVMwggFPAgEB
# MG8wWzETMBEGCgmSJomT8ixkARkWA2tvbTEVMBMGCgmSJomT8ixkARkWBWVycm9y
# MRUwEwYDVQQLDAxVc2VyQWNjb3VudHMxFjAUBgNVBAMMDUNocmlzdG9zIFRlc3QC
# ED+u9TMRNDqdT/O6sW4JOUAwCQYFKw4DAhoFAKB4MBgGCisGAQQBgjcCAQwxCjAI
# oAKAAKECgAAwGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQwHAYKKwYBBAGCNwIB
# CzEOMAwGCisGAQQBgjcCARUwIwYJKoZIhvcNAQkEMRYEFFdOPOA12JLdrGsqBaAd
# 20FdjY/fMAsGByqGSM49AgEFAARHMEUCIQDNsT4t9/hVrFvintvMxYtbm0Tp4o4I
# nF6G3GyALE/0LwIgCvmIp4hvqOT5uZjymaAJoJ+c5hRnu9EL5zpNSGoA7fI=
# SIG # End signature block
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment