﻿------------------------------------------------------------------------------------------
「テキストコピーツール(VBTextCopyTool1)」Ver1.1.1.0
                                           CopyRight(C) 2015,2023 Excelでお仕事！(井上 治)
------------------------------------------------------------------------------------------
 E-Mail: mailto:excel.de.oshigoto@dec.email.ne.jp
 Web   : https://www.ne.jp/asahi/excel/inoue/ (Excelでお仕事！)
------------------------------------------------------------------------------------------
                                                  テキストコピーツール.txt 作成:2014/01/20
                                                                           更新:2023/01/15
------------------------------------------------------------------------------------------
■概要

テキストの編集作業で定型文のコピー／貼り付けを多用する方向けのツールです。

同じ内容のコピー／貼り付けを繰り返し行なう場合にあらかじめ最大30種類までのテキストを
それぞれタイトルを付けて登録しておき、コピーボタンでクリップボードの内容を差し替えて
貼り付けに利用できるようにしています。たくさんのクリップボードから切り替えて貼り付けが
できるソフトと考えていただければ良いと思います。

作業そのものは「メモ帳」でもできることです。
種類別に行を分けてテキストを用意しておいて、貼り付け先ごとに必要範囲を選択してコピーして
貼り付けます。選択範囲を間違えないように気をつければ良いことですが、それぞれが複数行だった
りすると、それぞれのテキストの範囲が判るように空き行も作らなければならず、種類が多いと
１画面に収まらずコピー／貼り付けの作業時にスクロールが必要になることも発生します。

本ソフトなら、行数に関わらず１件を１ボタンのクリックだけでコピーできます。


------------------------------------------------------------------------------------------
■特徴

特に多数のドキュメントを一斉に修正したいのだけれど「一括置換」といった方法が採れない場合
１つ１つのドキュメントを開いて順に判断して適切なものを「部分貼り付け」させたい場合に有効で
最大30種類のドキュメント部品にタイトルを付けてあらかじめ登録させておき、
それぞれのケースでそのタイトルリストから適切なものを探してコピーボタンでコピーし、
目的のドキュメントの上に貼り付けられます。

この手のフリーソフトはたくさんあります。タスクトレイの常駐するものが多いようですが、
「コピー」時のアクションを少なくしたいので単純なWindowsフォームアプリケーションとしました。
コピー⇒貼り付けを繰り返すのにそのコピーについて先にタイトルの一覧がフォームに表示されるので
他のアプリケーションのウィンドウがアクティブな状態から別のアイテムをコピーし直す場合でも
ウィンドウの選択し直しは不要でタイトルの横のボタンをクリックするだけです。

クリップボードの内容がフォームの上部にモニターとして表示されているので誤操作も防止できます。
また、コピーボタンでコピーした場合はタイトル部が黄色で反転表示されるので、同じアイテムを
続けて貼り付ける場合は再度コピーボタンをクリックする必要がないことも明示されます。

最前面に表示させることもできるので、貼り付け先のアプリケーションが最大化されている場合でも
利用することができます。

プログラム開発などを行なう方でないとこの種のツールの必要性は理解できないかも知れません。
元々はVisualStudioの開発で、各モジュールのコードページを順次開いてソースコードの一部記述を
差し替えるという作業で対象のプロジェクトやモジュールが大量にあったため、このような「道具」が
ほしくなり既知のフリーソフトでは所望する機能のものがなかったので作成したものです。

開発言語でのプログラム開発の他にも、HTMLをテキストエディタで編集するような場合、あるいは
ブログやメールでの定型文の埋め込みなどにも利用できます。

一旦登録を行なった「コピーセット」的な内容は閉じてしまっても次回の起動時に再現される上、
複数の「コピーセット」を登録して切り替えたい場合は外部ファイルにエクスポートさせることが
できるので別々にタイトルを付けて保存させておいて、必要時にインポートさせることができます。


------------------------------------------------------------------------------------------
■簡単な利用シーンの例

プログラム開発とは関係ない一般的な利用シーンで説明します。

例えばメールの作成で考えると「Thunderbird」というメールソフトでは「QuickText」という定型文
を挿入させるアドオンがあって、設定しておけばこの手の役割を果たしてくれます。
例えばタイトルを「社外の方への挨拶」として
-------------------------------------------------
お世話になっております。○○会社の○○です。

よろしくお願いします。
-------------------------------------------------
などと登録しておいて、メールの作成画面にプルダウン選択で本文に貼り付けられます。
「社内用」「返信用」「転送用」など、それぞれタイトルを付けて登録しておいて利用できるわけ
ですが、このようなアドオンが使えないメールソフトをお使いであれば、このソフトを利用されると
便利かも知れません。

挨拶文ならIMEの単語登録すれば良いという意見もあろうかと思いますが、このように改行付きで
登録することはできないでしょうし、不必要な時に変換候補に出現してしまいます。

Windowsであれば、iOsやAndroidなどとは異なり、キーボードとマウスを使ってテキストの部分編集が
自在に行なえるわけですが、これらの機能をさらに便利に利用するためのツールとしてお使い下さい。


------------------------------------------------------------------------------------------
■使用方法

インストールしたらメニュー等より「テキストコピーツール」を起動します。
メニューは通常は「Excelでお仕事！VisualStudioツール」の中に配置されます。

当初は10件のテキストボックスのようなものが縦に並んだリストフォーム(登録一覧)が表示されます。
このテキストボックスのようなものに直接文字列の入力はできません。
これはタイトルを表示させる「ラベル」です。
このリストフォームは当初10件の表示ですが、最大30件のところまで広げられます。

最大件数はメニューの「登録件数変更」で100件まで拡張できます。

まずは貼り付けを行なう「テキスト」の登録を行なってみましょう。
所望する№のところのタイトルの「ラベル(白抜きボックス部分)」をダブルクリックするか、
右クリックメニューから「編集」を選択すると登録フォームが表示されます。
(ダブルクリックだと表示内容がコピーされるのでご注意下さい)
中央の大きなテキストボックスに実際にコピーさせるテキストを入力して下さい。
タイトルがあればタイトルも入力して下さい。
右下の「登録」ボタンで登録されます。

これで元のリストフォームに戻ると、登録したタイトル(タイトルがない場合は1行目)
が「ラベル」に表示され、左端に「⇒コピー」と表示されたボタンが現われます。
このボタンをクリックすると登録されているテキストがクリップボードにコピーされます。

このソフトの機能はクリップボードにコピーするところまでです。
貼り付けは貼り付け先を選択して右クリックの「貼り付け」やCtrl＋Vなどで行なって下さい。

複数のテキストを使い分けてコピーさせるのに、どれがコピーしてあったかが判るように
最後にコピーボタンをクリックした行の「ラベル」の背景が黄色で表示されるようになっており、
また、フォームの上部にクリップボードビューワが併設されています。

クリップボードビューワとコピーアイテム一覧の間は上下にドラッグさせてクリップボードビューワ
の高さを変えることができます。

表示されるフォームの位置やサイズは自由に変更でき、次回の起動時に再現されるようになっています。


------------------------------------------------------------------------------------------
■その他の機能

○リストフォーム(登録一覧)には登録フォームで登録した「タイトル」もしくは登録内容の１行目が
　表示されていますが、ここにマウスをポイントすると登録内容全文がツールチップで表示されます。

○作業中の登録内容、フォームの位置や大きさは閉じた後も保持されており、次回の起動時に再現
　されます。途中で作業を打ち切っても後日同じ作業が行なえるようになっています。

○リストフォーム(登録一覧)のウィンドウは上部メニューの「最前面に表示」で他のウィンドウより
　手前に表示させることができます。このためテキストエディタ等を全画面で表示させている場合でも
　その手前に本リストフォームを表示させて作業が行なえます。
　最前面表示になっている場合はメニューの表示が「最前面を解除」と変わります。
　この機能も閉じた後も保持されており、次回の起動時に再現されます。

○登録フォームのメニューには必要時に｢№挿入｣｢№削除｣が表示されるようになっています。
　この他にもリストフォーム(登録一覧)に｢配置変更｣メニューがあるのですが、｢№挿入｣｢№削除｣
　の方は、単純に現在選択の№の所に1行挿入する、1行削除するという機能で、以降の行が連動して
　移動します。
　｢配置変更｣メニューの方は｢何番を何番へ移動｣という方法で1件ずつですが連続して個別の移動を
　行なうことができます。

○一旦登録した「コピーセット」に名前を付けて外部データファイルに保存する「エクスポート」と、
　そのエクスポートしてあった外部データファイルを本プログラム側に復旧させる「インポート」
　の機能があります。


------------------------------------------------------------------------------------------
■注意事項

○コピーテキストの登録時には原則としてタイトルは省略できますが、これはテキストの先頭行から
　タイトルを自動的に生成するように登録処理を行なっています。
　但し、開発言語系のコメント行のコメントを意味する先頭文字を自動的に除外する機能があるため、
　この除外動作でタイトルが空白になってしまう場合は「タイトルが入力されていません」という
　エラーが表示されるので、この場合はタイトルを入力して下さい。
　
○登録作業では「タイトルのラベル(白抜きボックス部分)をダブルクリックする」という操作を
　行なっていただきますが、そもそも.NETのWindowsフォームでラベルコントロールをダブルクリック
　した場合はそのコントロールの表示文字列がコピーされてしまいます。
　本件は現在検討課題になっていますが、クリップボードビューワにも状況は表示されますから
　登録作業中はご注意願います。
　右クリックメニューの「編集」を選択する方法であればクリップボードは変更されません。

○クリップボードビューワを常設している関係上、パスワードのコピー／貼り付けを行なう場合は
　充分にご注意願います。(パスワードが表示されてしまいます)

○本処理は二重には起動できません。


------------------------------------------------------------------------------------------
■インストール・アンインストール

配布されたZIP圧縮ファイルを解凍したら「VBTextCopyTool1_Setup.exe」が作成されます。
これを起動するとインストールウィザードが起動されるので、後はこれに従ってインス
トールを進めて下さい。
なお、ユーザーアカウント制御では発行元が「不明」と表示されます。
インストール後はスタートメニューから「テキストコピーツール」を起動して下さい。
通常は「Excelでお仕事！VisualStudioツール」の中に配置されます。

同一PCの複数ユーザーで利用する場合は、それぞれのユーザーごとにインストールして下さい。
(インストールするユーザーはAdministrator権限が必要です)

アンインストールはコントロールパネルの「プログラムと機能」又は「プログラムの
追加と削除」から「テキストコピーツール」又は「VBTextCopyTool1」を
削除させて下さい。


■バージョンアップ時のインストール

現在のコピーセットを引き継ぐ場合は念のためエクスポートしておいて下さい。
そのまま新しいバージョンをインストールすることでアップグレードされます。
インストール条件をデフォルトと変更しているような場合でまれに起動させると古い
バージョンのままになってしまう場合があります。
この場合は一旦アンインストールさせてから再度新しいバージョンをインストールさせて
下さい。
インストール先のフォルダを変更している場合、バージョンアップでのインストール時
は変更先ではなくデフォルトのフォルダが表示されるのでご注意下さい。
また、自動生成されるスタートメニューメンバ以外にショートカットを作成している場合は、
「パラメータが違います」というエラーになる場合があります。
エラーになるショートカットは一旦削除してデスクトップかスタートメニューメンバから
再作成して下さい。タスクバーに表示を固定(ピン止め)している場合も同様です。

※バージョンは起動直後にステータスバーの右方に表示されます。


------------------------------------------------------------------------------------------
■動作環境

本ソフトは、Microsoft .NET Framework4.xで動作します。
ターゲットフレームワークは「.NET Framework4.5」としています。
Windows側に.NET Framework4.x環境がない場合は「.NET Framework4.7.2」がインストールされます。
本ソフトは、32ビット版で作成していますが、Windowsは64ビット版でも問題ありません。

※Ver1.1.0.0より前までは.NET Framework2.0～3.5で動作しておりましたので、
　この環境からのバージョンアップの場合は、プログラムはそのままバージョンアップされますが、
　設定内容は自動的には引き継がれません。予めご了承願います。
  手動作業での設定引き継ぎ(設定ファイルのコピー作業)については、
　https://www.asahi-net.or.jp/~ef2o-inue/other/netfw45conv.html で説明しています。
　一旦、.NET Framework4.x環境に移行した後の今後のバージョンアップについての設定内容は、
　自動的に引き継がれるようになります。

なお、Microsoftのサポートが終了しているWindowsOSについては
サポートはできかねますのでご了承下さい。


------------------------------------------------------------------------------------------
■免責

動作確認は充分に行なっておりますが、このソフトを使ったことによって
損害が発生しても一切の責任は負えません。


------------------------------------------------------------------------------------------
■転載について

アーカイブに変更を加えないことを条件に、転載は自由にして頂いて構いませんが、
必ずご連絡いただくようにお願いします。
メールアドレスは先頭に記載しております。


------------------------------------------------------------------------------------------
■開発環境・謝辞

このソフトは「Microsoft Visual Studio 2022」で開発しています。
 (初期開発はVS2010、VS2019を経由して移行)
開発言語は「Visual Basic」です。

開発に際してはWeb上に公開されている開発支援サイトを多々
参考にさせていただいています。
一部のお名前を個々に挙げることは差し控えますが厚くお礼を申し上げます。
なお、私自身は本項の先頭にリンクがあるようにExcelについての支援サイトを
運営しております。多少のギブアンドテイクにはなっていると思っております。

最後にバグ報告・提案など、開発援助をしてくれた皆様に感謝を申し上げます。


------------------------------------------------------------------------------------------
■更新履歴
14/01/21(1.0.0.0)新規作成
14/01/22(1.0.0.1)保持件数を30件に拡張､設定保持方法を変更(Specialized.StringCollection)
14/01/22(1.0.0.1)バージョン表示を追加(起動初回のみ)
14/01/22(1.0.0.1)最前面モードの保持機能を追加
14/01/23(1.0.0.2)VisualStudio2010に変更してセットアップを作成
14/01/25(1.0.1.0)各行メンバをユーザーコントロールに移行､クリップボードビューワを統合
14/01/26(1.0.1.0)タイトル自動登録時にコメントマークを除去する機能を追加
14/01/26(1.0.1.0)ToolTip内容整備、コピー解除ボタンはテキスト有無だけで表示するように変更
14/01/26(1.0.1.2)設定のUpgrage対応漏れを修正
14/08/16(1.0.1.3)未登録行が黄色に反転してしまう現象を回避させる対応
14/08/31(1.0.2.0)タイトルラベルに右クリックメニューを追加する対応
14/08/31(1.0.2.0)タイトル自動登録時にTab,Cr,Lfを除去する機能を追加
14/08/31(1.0.2.0)インポート／エクスポート機能の追加
14/08/31(1.0.2.0)DPI制御をフォーム変倍方式に変更
14/08/31(1.0.2.1)｢ルーラー｣メニューの表示制御を追加(二重挿入を回避)
14/08/31(1.0.2.1)app.manifestの書き換え対応(DPI独自制御PG)
～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～
※ここまでは公開前の更新履歴です。
～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～
14/09/01(1.0.2.2)メニューオーバーフロー時の対応を追加
14/09/01(1.0.2.3)クリップボードビューワの背景色をLightYellowに変更
15/03/23(1.0.3.0)ShownイベントでIMEモード初期化の対応を追加
15/12/07(1.0.3.1)各テキストボックスでCtrl+Aで全選択されるように対応
16/01/17(1.0.3.1)Windows10での動作確認を行なったので記載を変更
16/01/23(1.0.3.2)各テキストボックスIMEモードは「NoControl」に変更(ユーザー選択に委譲)
16/03/06(1.0.3.3)メニューにToolTipガイドを追加
16/04/21(1.0.3.4)一覧フォームに最小化機能を追加
16/05/15(1.0.3.5)フォームの位置・サイズ保持で最小化時を除外する対応を追加
16/05/22(1.0.3.6)フォームサイズ退避値の異常値対策を追加
16/06/17(1.0.3.7)Windows複数画面環境でのフォーム下辺でのマウスによるサイズ変更動作不正の対応
16/07/09(1.0.3.8)マルチスクリーン時のフォーム制御の改善
16/07/11(1.0.3.9)クリップボードイベントが働かなくなった件を修正
16/08/11(1.0.3.10)初回の登録フォーム呼び出しが例外になってしまう件を修正
16/11/23(1.0.4.0)クリップボードビューワ下にSplitterを配置してサイズ可変にする対応
16/11/23(1.0.4.0)｢№挿入｣｢№削除｣の機能追加対応
16/11/23(1.0.4.1)タイトル、内容の重複登録チェックを追加
16/11/24(1.0.4.2)登録一覧側が自動スクロールバー表示なっていなかった件を修正(デザイナ)
17/03/16(1.0.4.3)配置変更、登録件数変更メニューにショートカットキー設定を追加(デザイナ)
17/03/16(1.0.4.3)項目移動フォームの表示時点で項目が全選択されない件の対応
17/10/14(1.0.4.4)ボタン等のダブルクリック操作抑制に関する内部的な改善
17/11/07(1.0.4.5)最前面表示中の他フォームとの｢裏返り｣不具合の対応
17/11/07(1.0.5.0)｢位置変更｣の連続操作を可能とする対応(キャンセルするまで)
17/11/11(1.0.5.1)｢キャンセルが選択されました｣の後、再登録ができない不具合を修正
18/04/24(1.0.5.2)本テキスト上に作者メールアドレスの記載が漏れていた件を修正
18/10/06(1.0.6.0)画面位置保持機能について複数画面時の個別DPI指定に対応する修正
18/10/24(1.0.6.1)画面位置保持機能についての前回対応でWindows7だと起動できない件を修正
18/10/24(1.0.6.1)初期画面表示での瞬時明滅をできるだけ防止する対応
18/11/04(1.0.6.2)画面位置保持機能について複数画面時の個別DPI指定に対応する修正②
19/07/07(1.0.6.3)概要記述の動作環境で.NETFrameworkの動作可能Verの記載誤りを訂正
21/11/30(1.1.0.0)開発環境を「Microsoft Visual Studio 2019」に変更
21/11/30(1.1.0.0)フレームワーク環境を「.NET Framework4.x」に変更
22/05/13(1.1.0.1)開発環境を「Microsoft Visual Studio 2022」に変更
22/05/14(1.1.0.2)スタートメニューの概要説明リンクを削除(本体メニューから呼び出せるため)
23/01/15(1.1.1.0)独自メッセージボックス変更(マウス既定ボタンモード対応)
