0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

EXCELセルをダブルクリックで飛ぶ時の対処法

Posted at

セルを編集しようとしたらどっか行った

皆さんはそのような経験あるでしょうか?私はしょっちゅう起こしてイライラしてました。
そんなときの解決方法を探すためネットの海に潜ると下記のような記事を見つけました。

おお、解決やな。
だがしかし、記事にある通りフィルハンドルの機能を失うことになるという大きなデメリット...
設定変更するの結構手間だし、F2押すのは慣れないので...
設定を変更するショートカットを作ろう!

ショートカット作成

ということで選ばれたのは bat と powershell.
以前にexcelファイルが入ったフォルダをまとめてPDFに変換をするショートカットを作ったことがあったので行けるかなと思いコーディング開始!

setting.ps1
$excelRunning = Get-Process -Name "EXCEL" -ErrorAction SilentlyContinue

if ($null -eq $excelRunning) {
$excelApp = New-Object -ComObject Excel.Application
$newexcel = $true
} else {
$excelApp = [Runtime.InteropServices.Marshal]::GetActiveObject("Excel.Application")
$newexcel = $false
}

$currentSetting = $excelApp.CellDragAndDrop

if ($currentSetting -eq $true) {
 $excelApp.CellDragAndDrop = $false
 } else {
 $excelApp.CellDragAndDrop = $true
 }

if( $newexcel -eq $false) {
 [System.Runtime.InteropServices.Marshal]::ReleaseComObject($excelApp) | Out-Null
 Remove-Variable excelApp } else {
 $excelApp.Quit()
 [System.Runtime.InteropServices.Marshal]::ReleaseComObject($excelApp) | Out-Null
 Remove-Variable excelApp }
解説

1行目でExcelが実行中かを確認します。実行中でない場合エラーになってしまうため 
-ErrorAction SilentlyContinue を書いてエラーを無視かつ出力もなしで$excelRunningnullになります。
3行目からのif文はexcelが起動していない場合は起動する。すでに起動している場合はそのまま利用(今回の場合は設定の変更のため起動していればなんでもいい)する。

今回変更する設定のCellDragAndDropがonかoffかをbooleanで判定し逆にする。

最後のif文は新しく起動した場合タスクの終了をするためのものです。
起動した状態でしか設定変えたと思うことないでしょうけど一応。

bat作成

設定変更できるものの即実行じゃないと、ということでpowershellを呼び出すbatも作ります。
といってもこれだけです。

setting.bat
 @echo off

powershell -ExecutionPolicy Unrestricted -File %~dpn0.ps1 %*

exit

同じフォルダに同じ名前のbatとps1ならコピペでOK。
わからないとか、できないなら絶対パスで。
ちなみに-ExecutionPolicy の変更はこのbatの実行終了までしか有効じゃなかったはずなのでご安心を。

今回変更した設定↓

ほかの設定も探せば変えられると思うので設定したいものがあればぜひ。
以上powershell と バッチファイルを使用してExcelの設定を変更する方法でした。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?