ã¯ããã«
ä»åã¯PoweShellã䜿ã£ãŠã.txtããã¡ã€ã«ãåºåããŸãã
å®åæã1å1å¥å
šéšå
¥åãããããåºå®æ以å€ã®å Žæã ãå
¥åããŠæçãå³ãããæ¹åãã§ãã
ãŸããã¡ãã£ãšããéžæã§åºåãã¢ã¬ã³ãžããããšãå¯èœãšããŠããŸãã
ã»ã³ãŒãã¯äŸæã§ããä»»æã®æèšã«å€æŽããŠãã ãã
ã»ã³ãŒããæžããããã¡ã€ã«ããããã¹ãèªåçã«ååŸãåãå Žæã«åºåããããã«ããŠããŸãã
ã»è²ã
çåç¹ã¯ãããšæããŸããäœåã容赊ãã ããã
ã»è³ªåã¯AIãæ©ããŠæ£ç¢ºã§ãðŠ
ã»è§£èª¬ã¯ã³ãŒãäžã®ã#ãã®å³åŽã«å
šéšæžããŸãããé·ãã®ã«ããã«è§£èª¬éšåãèšããã ãªããŠèªãæ¹ã®ãè² æ
ã«ããªããšæããŸãã®ã§ðŠ
ã§ã¯ã§ã¯æ¬é¡ã«
äžã®äžè²ã
ãšäŸ¿å©ã«ãªãäžæ¹ã§å¶çŽãå€ãã
"ãããªã®Excelã§è¯ããããâª"ããšãã"ââã€ã³ã¹ããŒã«ããã°ç°¡åã§ããâª"
ãšæ³åãããæ¹ãå€æ°ã ãšæããŸãã
ã§ããã®äžçã
ãããã©ã«ãã¢ããªä»¥å€ããŠã³ããŒããã€ã³ã¹ããŒã«ã¯çŠæ¢!!ã
ããã¡ã®äŒç€Ÿäºç®ããããªããŠãåã®PCã ãOffice䜿ããªããã ãããèŸæ±ããŠã
ãªããŠäŒç€ŸãèãããŠããªãã£ãããèãããŠãããâŠ
ãããªãšãã«äŸ¿å©ãªã®ãããã©ã«ãã§ã€ã³ã¹ããŒã«ãããŠããPoweShellã§ãã
ç®æ¬¡
ã» 1.ps1ã³ãŒã(å
šæ)
ã» 2.å®è¡
ã» 3.åããªãæã¯
1.ps1ã³ãŒã(å šæ)
# ãã©ãŒã ãœããã®å®£èšãPoweShellãèµ·åããã ãã§ã¯ãã©ãŒã ãœããèªäœãåããªãã®ã§ããŒããããŠããã
Add-Type -AssemblyName System.Windows.Forms
# å€æ°ã«ãŸã£ãããªæ¿ã®æ§ãªãã©ãŒã ã®åºç€æ¿ãæ ŒçŽ
$form = New-Object System.Windows.Forms.Form
# ãã©ãŒã ã«è¡šç€ºããã¿ã€ãã«ãèšå®" "å
ã®æåãåæ ãããã
$form.Text = "å
¥åãã©ãŒã "
# å·ŠåŽã®æ°å€ã暪å¹
ãå³åŽã瞊å¹
$form.Size = New-Object System.Drawing.Size(400,350)
# æåãå
¥åããéšåã®é
å宣èš
$textboxs = @{}
# æåãå
¥åããå·ŠåŽã«è¡šç€ºããæèšãé
åã§äœæããŠããã
$labels = @("瀟å
æ¥åçšç«¯æ«", "åºåŒµå
å©çšç«¯æ«", "瀟å¡å", "ã¡ãŒã«ã¢ãã¬ã¹", "æºåž¯é»è©±")
$y = 10
# ====================================ã©ãã«äœæéšå======================================================================================================
# â¡æ°ããã©ãã«ãªããžã§ã¯ããäœæ
$labeCAUTION = New-Object System.Windows.Forms.Label
$labeCAUTION.Text = "@hogehoge.co.jp"
$labeCAUTION.Location = New-Object System.Drawing.Point(250, 102)
# ã©ãã«ãµã€ãºãæå®ããªããšéäžã§æè¿ããŠã®è¡šç€ºãšãªãããæå®ããã
$labeCAUTION.Size = New-Object System.Drawing.Size(400, 20)
$form.Controls.Add($labeCAUTION)
# ====================================ã©ãžãªãã¿ã³äœæéšå======================================================================================================
# ã©ãã«å("lables"é
å)ã«å¯ŸããŠã«ãŒãåŠçãå®è¡ã
foreach ($label in $labels) {
# æ°ããã©ãã«ãªããžã§ã¯ããäœæ
$labelOBJ = New-Object System.Windows.Forms.Label
# äœæããã©ãã«ã¯ç¡åã®ç¶æ
ã®ãªã®ã§é
åãã1ã€ãã€åãåºãååãèšå®
$labelOBJ.Text = $label
# ã©ãã«ãé
眮ããäœçœ®ãèšå®Excelã§èšãåã¯äžåã®ãã"10"ãšããŠããã
# è¡ã¯å€åããããå€æ°"y"ãšãã1ã€ã®åŠçãçµããããšã«èšå®ããè¡ã«+30ããŠããã
$labelOBJ.Location = New-Object System.Drawing.Point(10, $y)
# äžèšã¯ãããŸã§èšèšã»äœæãŸã§ã§ãããã§ãã£ãšãã©ãŒã ãžã®èšçœ®ã»é
眮ãšãªãã
$form.Controls.Add($labelOBJ)
# ====================================å
¥åãã©ãŒã äœæéšå======================================================================================================
# ããã¹ããæ ŒçŽããããã®ç®±ãæºåããŠããã
$textbox = New-Object System.Windows.Forms.TextBox
$textbox.Location = New-Object System.Drawing.Point(150, $y)
# å
¥åãã©ãŒã ã«è¡šæã»éšå±çªå·ã®æ§ãªç©ãèšå®
$textbox.Name = $label
$form.Controls.Add($textbox)
# ã©ã®å
¥åç®±ãã©ã®ã©ãã«ãååã®ç©ãšèªèãããã°ããã®ãèšå®ããŠããã
$textboxs[$label] = $textbox
# ãã©ãŒã ãé
眮ããè¡ã¯å€åããªããšãããªãã®ã§1ã€ãã§"30"ãæå®ãã2ã€ãã®äœæ¥ããã¯+30ãšäžã«ãäžã«äžãã£ãŠããæ§ã«ããŠããã
$y += 30
# 1ã€ã®åŠçãçµãã£ããå床äžã«æ»ã£ãŠæ¬¡ã®äœæ¥ãž
}
# ====================================ã©ãžãªãã¿ã³äœæéšå======================================================================================================
# ã©ãžãªãã¿ã³ãé
眮ããåå°ãäœæ
# ããããªããšãã¿ã³ãé
眮ããŠãå
šéžæã®ç¶æ
ã«ãªãã
$MyGroupBox1 = New-Object System.Windows.Forms.GroupBox
$MyGroupBox1.Location = New-Object System.Drawing.Point(150,160)
$MyGroupBox1.size = New-Object System.Drawing.Size(180,70)
$MyGroupBox1.text = "å€åå°"
# ã©ãžãªãã¿ã³ã®äœæãã ããäžèšã®ã°ã«ãŒããããSizeãæ°å€ã倧ãããšé衚瀺ã«ãªãã®ã§æ³šæ
# ãã¿ã³ãµã€ãºã倧ãããããå Žåã¯äžèšã®ãã°ã«ãŒããã®ãSizeããå€æŽããããšã
$RadioButton1 = New-Object System.Windows.Forms.RadioButton
$RadioButton1.Location = New-Object System.Drawing.Point(10,20)
$RadioButton1.size = New-Object System.Drawing.Size(80,20)
$RadioButton1.Checked = $True
$RadioButton1.Text = "æ¬ç€Ÿ"
$RadioButton2 = New-Object System.Windows.Forms.RadioButton
$RadioButton2.Location = New-Object System.Drawing.Point(10,45)
$RadioButton2.size = New-Object System.Drawing.Size(100,20)
$RadioButton2.Checked = $False
$RadioButton2.Text = "倧éªæ¯ç€Ÿ"
# ã°ã«ãŒãåå°ã«ãã¿ã³ãèšçœ®
$MyGroupBox1.Controls.AddRange(@($RadioButton1,$RadioButton2))
# èšçœ®ããåå° + ãã¿ã³ããã©ãŒã ã«è¿œå
$form.Controls.Add($MyGroupBox1)
$y += 30
# ç»é²ãã¿ã³ã®äœæ
$button = New-Object System.Windows.Forms.Button
$button.Text = "Submit"
$button.Location = New-Object System.Drawing.Point(150, 270)
$form.Controls.Add($button)
# éžæãããã©ãžãªãã¿ã³ã®å€ãååŸããé¢æ°
function Get-SelectedRadioButtonValue {
param (
[Parameter(Mandatory=$true)]
# ãgroupBoxããçªç¶åºãŠããã[]å
ã®ã·ã¹ãã ããããã£ãå€æ°ã«æ ŒçŽããŠããã ã
[System.Windows.Forms.GroupBox]$groupBox
)
# 1ã€1ã€å€ã確èªãTrueãšãªã£ãŠããç©ãæ¢ãåºãã
foreach ($control in $groupBox.Controls) {
# ã$controlãã«æ ŒçŽããåãã©ãžãªãã¿ã³åããããã«å€ããtrueãã確èªããŠããã
if ($control -is [System.Windows.Forms.RadioButton] -and $control.Checked) {
# ãããŠTrueãšãªã£ãŠããã©ãžãªãã¿ã³ã®å€ãã.Textãã§æ ŒçŽ
return $control.Text
}
}
return $null
}
# ããã§ãé
åã䜿ããããã©ã«ãæãé
åã«æ ŒçŽããå Žåã¯ã""ãã§å²ãã ãã§è¯ã
# å
¥åããå€ã«å®åæãçµåããå Žåã¯ã""ãã§çµåããæãäœæãã+ãã§çµåãè¡ãã
# ($***["â â â "].Text)ãšæžããã***ãã¯å
¥åãã©ãŒã ã®å€æ°åããâ ãã¯å
¥åãããã©ãŒã ã«ã€ããååãå
¥ãã
# å
¥åãã©ãŒã ã¯ããããå
¥åããæ
å ±ãä¿æããç®±ããªãããç®±ãäœæããã
# ãã ããç®±ã«ååãæžããé
ååããªããšã©ã®ãã©ãŒã ã«å
¥åããæåãã©ãã«æ ŒçŽããããã§ããªããããèšå®ããŠããã
# åºå®æãè¿œå ãããå Žåã¯ããã«æžã
$button.Add_Click({
$inputs = @{}
$inputs["瀟å
æ¥åçšç«¯æ«"] = "Tokyo-Kanri-" + ($textboxs["瀟å
æ¥åçšç«¯æ«"].Text)
$inputs["åºåŒµå
å©çšç«¯æ«"] = "Tokyo-Kanri-" + ($textboxs["åºåŒµå
å©çšç«¯æ«"].Text)
$inputs["瀟å¡å"] = $textboxs["瀟å¡å"].Text
$inputs["å€åå°"] = $selectedLocation = Get-SelectedRadioButtonValue -groupBox $MyGroupBox1
$inputs["ã¡ãŒã«ã¢ãã¬ã¹"] = $textboxs["ã¡ãŒã«ã¢ãã¬ã¹"].Text
ãã$inputs["æºåž¯é»è©±"] = $textboxs["æºåž¯é»è©±"].Textã
$inputs["åºå®æ1"] = "ããã¯åºå®æ1ã§ãã"
if ($selectedLocation -eq "æ¬ç€Ÿ") {
$inputs["第2ã¢ãã¬ã¹"] = "$($inputs["ã¡ãŒã«ã¢ãã¬ã¹"])@honsya.co.jp"
} elseif ($selectedLocation -eq "倧éªæ¯ç€Ÿ") {
$inputs["第2ã¢ãã¬ã¹"] = "$($inputs["ã¡ãŒã«ã¢ãã¬ã¹"])@oosaka.co.jp"
}
$inputs["ã¡ãŒã«ã¢ãã¬ã¹"] = ($textboxs["ã¡ãŒã«ã¢ãã¬ã¹"].Text) + "@hogehoge.co.jp"
$filename = "$($inputs["瀟å¡å"])_" + "$($inputs["瀟å
æ¥åçšç«¯æ«"])_" + "$($inputs["åºåŒµå
å©çšç«¯æ«"]).txt"
$outputPath = Join-Path (Get-Location) $filename
# ããã§ã.txtããã¡ã€ã«ã«åºåããŠãããã`nãã§æ¹è¡ååŸã«ç©ºçœã¯äžèŠ
$content = "瀟å¡å: $($inputs["瀟å¡å"])`n瀟å
æ¥åçšç«¯æ«: $($inputs["瀟å
æ¥åçšç«¯æ«"])`nèªå®
å©çšç«¯æ«: $($inputs["åºåŒµå
å©çšç«¯æ«"])`nå€åå°: $($inputs["å€åå°"])`nã¡ãŒã«ã¢ãã¬ã¹: $($inputs["ã¡ãŒã«ã¢ãã¬ã¹"])`n第2ã¢ãã¬ã¹ïŒ$($inputs["第2ã¢ãã¬ã¹"])`næºåž¯é»è©±ïŒ$($inputs["æºåž¯é»è©±"])`nåºå®ææ¿å
¥ïŒ$($inputs["åºå®æ1"])"
[System.IO.File]::WriteAllText($outputPath, $content)
[System.Windows.Forms.MessageBox]::Show("Data saved to $filename")
$form.Close()
})
$form.ShowDialog()
2.å®è¡
ããŠäžèšã®ã³ãŒããå®è¡ããã«ã¯ãã¡ã¢åž³ããéããã³ãŒãã貌ãä»ããŸãã
貌ãä»ãåŸã¯ä¿åããã®ã§ããããã¡ã€ã«åã¯ã*** .txtãã§ã¯ãªãã
ã***.ps1ãã§ä¿åããé¡ãããŸãã
ãŸããããšã³ã³ãŒããããANSIãã§èšå®ãä¿åããŠãã ããã
ä¿ååŸã¯ãã¡ã€ã«ãå³ã¯ãªãã¯ããŠãPowerShellã§å®è¡ããã¯ãªãã¯ãããšåããŸãã
3.åããªãæã¯
äžèšã®æ¹æ³ã§åããªãæã¯ããäžã€ãã¡ã€ã«ãåãå Žæã«äœæããŸãã
ãã¡ã¢åž³ããéããŠäžèšã®ã³ãŒãã貌ãä»ããŠãã ããã
ã*** .batããã¡ã€ã«ã§ããšã³ã³ãŒããã¯ãŸãããANSIããæå®ããŠä¿åããŠãã ãããã***ãã¯ä»»æã®ãã¡ã€ã«åãå ¥ããŸãã
ãããŠäœæããã*** .batããã¡ã€ã«ãããã«ã¯ãªãã¯ã§å®è¡ããŠå®äºã§ãã
@echo off
rem ã.batããã¡ã€ã«ãããå Žæã®ãã¹ãèªåååŸ
pushd %~dp0
rem ã***.ps1ãã®ã***ãéšåãäžèšã§äœæãããã¡ã€ã«åã«å€æŽããŠãã ããã
powershell -Noprofile -ExecutionPolicy Unrestricted .\***.ps1
rem äžèšã®æèšã¯ãç¶è¡ããå Žåã«ã¯Enterãããšè¡šç€ºããããã®æèšã§ãã
rem ã.batããå®è¡ããŠãããã«æ¶ããªãæ§ã«ããããã§ãã
pause
以äžã§ããæåŸãŸã§é²èŠ§ããã ãããããšãããããŸããã