とりあえずですけれども このページをアンテナに追加

はてなダイアリー:とりあえずなんですけどね
ついったー:Twitter / toriaezu
たんぶらー:For the time being...
iKnow!:iKnow! / toriaezu
自己紹介はこちら

2009-05-12

C#から遅延バインディングでEXCELのシート保護をする

| 14:27 | C#から遅延バインディングでEXCELのシート保護をする - とりあえずですけれども を含むブックマーク はてなブックマーク - C#から遅延バインディングでEXCELのシート保護をする - とりあえずですけれども C#から遅延バインディングでEXCELのシート保護をする - とりあえずですけれども のブックマークコメント

自分のブログから引用。こっちにも書いておく↓

かなり悪戦苦闘してようやく実装できた

		/// <summary>
		/// ワークシートを保護する
		/// </summary>
		/// <param name="pXlBook">ワークブック</param>
		/// <param name="pXlSheet">ワークシート</param>
		public static void XlsSheetProtect(object pXlBook, object pXlSheet)
		{
			try
			{
				object [] Parameters;
			
				// シート保護時のパラメータ設定(行の挿入は許可するしない、とか)
				Parameters = new object[16];
				Parameters[0] = Type.Missing;
				Parameters[1] = false;
				Parameters[2] = true;
				Parameters[3] = true;
				Parameters[4] = true;
				Parameters[5] = false;
				Parameters[6] = false;
				Parameters[7] = false;
				Parameters[8] = false;
				Parameters[9] = false;
				Parameters[10] = false;
				Parameters[11] = false;
				Parameters[12] = false;
				Parameters[13] = false;
				Parameters[14] = false;
				Parameters[15] = false;
			
				// シートを保護する
				pXlSheet.GetType().InvokeMember("Protect", BindingFlags.InvokeMethod, null, pXlSheet, Parameters);
			}
			catch(System.Exception ex)
			{
				throw ex;
			}

			return;
		}

追記↓

Excelのバージョンによって渡すパラメータの数が異なるので注意。ハマるところなのでチェケラ

Excel2003、Excel2007のパラメータは全部で16個。

パラメータ

Password

ワークシートのパスワードです (大文字と小文字を区別します)。この引数を省略すると、パスワードを使用せずにワークシートの保護を解除できます。それ以外の場合、ワークシートの保護を解除するにはパスワードを入力する必要があります。パスワードを忘れると、ワークシートの保護を解除できなくなります。パスワードとそれに対応するドキュメント名の一覧を安全な場所に保管することをお勧めします。

DrawingObjects

図形を保護する場合は true です。既定値は、false です。

Contents

ロックされたセルの内容を保護する場合は true です。既定値は、true です。

Scenarios

シナリオを保護する場合は true です。既定値は、true です。

UserInterfaceOnly

ユーザー インターフェイスを保護し、マクロを保護しない場合は true です。この引数が省略されると、マクロとユーザー インターフェイスの両方が保護されます。

AllowFormattingCells

true に設定すると、保護されているワークシート内の任意のセルを書式設定できます。既定値は、false です。

AllowFormattingColumns

true に設定すると、保護されているワークシート内の任意の列を書式設定できます。既定値は、false です。

AllowFormattingRows

true に設定すると、保護されているワークシート内の任意の行を書式設定できます。既定値は、false です。

AllowInsertingColumns

true に設定すると、保護されているワークシートに列を挿入できます。既定値は、false です。

AllowInsertingRows

true に設定すると、保護されているワークシートに行を挿入できます。既定値は、false です。

AllowInsertingHyperlinks

true に設定すると、ワークシートにハイパーリンクを挿入できます。既定値は、false です。

AllowDeletingColumns

true に設定すると、削除する列のすべてのセルのロックを解除して、保護されているワークシートの列を削除できます。既定値は、false です。

AllowDeletingRows

true に設定すると、削除する行のすべてのセルのロックを解除して、保護されているワークシートの行を削除できます。既定値は、false です。

AllowSorting

true に設定すると、保護されているワークシートを並べ替えることができます。並べ替えの範囲内にあるすべてのセルのロックが解除されるか、保護が解除されている必要があります。既定値は、false です。

AllowFiltering

true に設定すると、保護されているワークシートにフィルタを設定できます。ユーザーは、フィルタ条件を変更することはできますが、オートフィルタを有効または無効にすることはできません。既存のオートフィルタフィルタを設定することはできます。既定値は、false です。

AllowUsingPivotTables

true に設定すると、保護されているワークシートでピボット テーブル レポートを使用できます。既定値は、false です。

Worksheet.Protect メソッド (Microsoft.Office.Tools.Excel)

Excel2000のパラメータは全部で5個。

構文 Object.Protect(Password, DrawingObjects, Contents, Scenarios,

UserInterfaceOnly) シートの保護

Object.Unprotect(Password) シートの保護解除

設定項目 内容

Object Worksheet, Chartオブジェクト

Password 保護解除の際に必要なパスワード [省略可能]

DrawingObjects 描画オブジェクトを保護する(True)、

しない(False:規定値)[省略可能]

Contents シートの内容を保護する(True:規定値)、

しない(False)[省略可能]

Scenarios シナリオを保護する(True:規定値)、しない(False)

対象がワークシートの場合のみ有効 [省略可能]

UserInterfaceOnly マクロからの変更は可能にする(True)、

マクロからも変更できない(False:規定値) [省略可能]

Excel VBA を学ぶなら moug モーグ | 即効テクニック | シートを保護する(Protect/Unprotectメソッド)

2008-02-06

森田一義botもつくったよー

01:41 | 森田一義botもつくったよー - とりあえずですけれども を含むブックマーク はてなブックマーク - 森田一義botもつくったよー - とりあえずですけれども 森田一義botもつくったよー - とりあえずですけれども のブックマークコメント

前回好評だった高田純次botに続いて、森田一義botを作りました!詳細はこちら↓

2008-02-03 - とりあえずなんですけどね

 

とりあえずbotつくりはこれぐらいにしておこうかなと思っています。

ああいうカンタンなbotだとわりとすぐに作れてしまうし、本当は何かWebサイトでも構築したいと思っているので、新しいbotつくりというのはしばらくはやらないつもりです。(botの改善・新機能は取り組んでいくつもりです!)

 

今回botを作っていく中で、Webでのサービスを提供する上で大切なことをいくつか感じたところがあって、基本的にはアイデア勝負!なんだなと思いました。その中で、ユーザーのニーズを的確につかむことができるとけっこう盛り上がったりして開発者のモチベーションの向上につながったりすることもわかりました。僕自身、正直楽しかったですし!今回は何も考えずに作ったのが結果的によかったパターンですが(笑)きちんと分析していけば、数多くのユーザーにマッチする「ニーズ」があったということがみえてくるのかもしれません。

 

そういった意味で、WebサイトWebサービスの構築には欠かせない「ユーザーの視点」を意識することができたので、今回の一連のbot作成でいいフィードバックを得ることができたなと感じています。

今後ともくだらないもの、おもしろいものを生み出していって、1981sを盛り上げていければと思っています。どうぞよろしくです!

2008-01-29

1981sはまだまだ続く

01:02 | 1981sはまだまだ続く - とりあえずですけれども を含むブックマーク はてなブックマーク - 1981sはまだまだ続く - とりあえずですけれども 1981sはまだまだ続く - とりあえずですけれども のブックマークコメント

ブログのほうに書きました。

2008-01-29 - とりあえずなんですけどね 高田純次botの反響と感謝

もっともっと1981sを盛り上げていきましょう!僕もがんばる!

ctrlshiftctrlshift2008/01/30 21:47高田純次bot素晴らしいですね♪
いろいろなところで話題になるなんて、こんなにうらやましいことはないです!(笑)
私も何か作ろーっと♪

toriaezutoriaezu2008/02/01 01:09いやーもう予想外の反響で嬉しい限りです。
ぜんぜん大したものではないのですが、アイデアが気に入ってもらえたのかな、とは自分では思っています。
そしてなによりも1981sの方々に負けたくないという思いでがんばりました(笑)
ともにおもしろいものをどんどん作っていきましょうね!

fyattjuicfyattjuic2011/04/06 12:0113hjn8 <a href="http://frcaoxuvlrfk.com/">frcaoxuvlrfk</a>, [url=http://fgqkjchbaoka.com/]fgqkjchbaoka[/url], [link=http://llvejbfjwncd.com/]llvejbfjwncd[/link], http://bvqlnrccrkyl.com/

2008-01-26

高田純次botをつくったよー

03:43 | 高田純次botをつくったよー - とりあえずですけれども を含むブックマーク はてなブックマーク - 高田純次botをつくったよー - とりあえずですけれども 高田純次botをつくったよー - とりあえずですけれども のブックマークコメント

はじめてのRubytwitter botを作りました!でも、まだまだですねえ。

高田純次botの詳細はこちらから。

2008-01-26 - とりあえずなんですけどね 高田純次botをつくったよー

みんなよかったらfollowしてねー!

高田純次bot(@TakadaJunji)さん | Twitter

2008-01-19

lrasobhjclrasobhjc2011/04/06 13:33ppBecz <a href="http://qyadnojmcjid.com/">qyadnojmcjid</a>, [url=http://zmqtrltqaumz.com/]zmqtrltqaumz[/url], [link=http://snrdsdatxkbf.com/]snrdsdatxkbf[/link], http://rbbigrrzueln.com/