スポンサーサイト

    上記の広告は1ヶ月以上更新のないブログに表示されています。
    新しい記事を書く事で広告が消せます。

    YouTube Nagaraを更新しました。

    またまただいぶブログを放置してました・・。
    そしたらなんと、2014/2/14に500件を超える大量の迷惑コメントが・・・。
    コメントの中身は、なんかのテキストファイルのファイル名だけ・・。
    何がしたかったんだろう・・・。

    というのはさておき。

    YouTube Nagaraを更新しました。
    すごいいまさら何ですが、だいぶ前に再生ができなくなってたようで、
    それを自分でしれっと直してしまっていたようで、
    そしてVectorのファイルを更新していなかったようで・・・。

    ダウンロードされた方から、メールをいただいて発覚しました。
    メールを下さった方ありがとうございます!

    というわけで修正版「YouTube Nagara 1.1.0.0」をVectorにアップしました!
    公開サイトはこちら⇒「www.vector.co.jp/soft/winnt/art/se491541.html
    さっきアップしたので、公開されるのはもう少し後カナ?

    Vectorも放置だったので、今後はちゃんとメンテしていこうと思います。

    というか、ユーザからメールを頂くというのが、これほどモチベーションアップにつながるとは!
    いや。感激です。

    また、何か作ろうかな~。
    スポンサーサイト

    テーマ : ツール・ソフトウェア
    ジャンル : コンピュータ

    64bitマシンで32bit起動する。

    久しぶりの投稿になります。 64bitWindowsマシン上で、32bitとして動作してほしいことがたまにあります。

    たとえば、
    .udlファイル(データリンクプロパティ)とか。
    (mdbファイル読むためにはjetプロバイダを使いたいのに、jetプロバイダは32bit版しかない。
      32bit版アプリから呼べばjet君がいるのに、.udlファイルダブルクリックすると出てきてくれない)

    ブラウザコンポーネント搭載のAnyCPUでビルドされたアプリを64bitマシンで使うときとか
    (64bit環境で実行すると当然64bitで動作し、そのときブラウザコンポーネントは内部的に64bitのIEを使うので
     フラッシュとか見れなくなる・・。)

    とか。
    (あまりないか・・。)

    そんな時どうするか。
    とあるバッチファイルを経由させると32bitで起動できる。

    そこで、バッチファイルを作って、それをSendToフォルダ(エクスプローラでファイル右クリックしたときの「送る」の中身が格納されているフォルダ)に置き、実行したいファイルを右クリック⇒送る⇒32bit起動 とすればいい。

    で、そのバッチファイルの中身は
    これだ!

    start /min  %windir%\SysWOW64\cmd.exe /c %1

    これだけ。

    ちなみに、Windows7のSendToフォルダは下記にある。
    %userprofile%\AppData\Roaming\Microsoft\Windows\SendTo

    テーマ : Windows
    ジャンル : コンピュータ

    Excelで自動更新目次をつくる!

    こんちわ。
    久しぶりの投稿です。
    今回はExcelのTips
    Wordには、自動的に更新してくれる目次を作成する機能がありますが、
    Excelにはありません。
    それをExcelで実現するためのマクロを紹介します。
    (ただし、自動的に更新できるのは、ページ数のみ。目次が勝手に増えたりはしません・・・)

    といっても普通のマクロではなく、Excel4.0のマクロとかいうやつで、
    Excelの名前の管理の画面で使うやつです。

    はじめてみたときは、そんなところに関数かけるんだ・・。と思いました。
    しかも、普通のマクロで使えない関数がそこに書けることにも驚愕・・。

    ExcelでCtrl+F3を押すと「名前の管理」という画面が出てきます。
    そこで、新規作成を押して、下記を設定します。(3つ作ります)
    1つ目
     名前     :シート別総ページ数
     参照範囲 :=GET.DOCUMENT(50)+NOW()*0


    OKを押してもう一度

    2つ目
     名前   :改ページ行番号配列
     参照範囲:
    =GET.DOCUMENT(64)+NOW()*0

    OKを押してもう一度

    3つ目
     名前   :
    ページ番号
     参照範囲:
    =MATCH(ROW(),改ページ行番号配列,1)+1

    OK→閉じる で「名前の管理」を閉じます。

    これで下準備完了。

    続いて、各シートの任意のセル(たとえばA1とか)に、
     「=シート別総ページ数」
    を設定します。
    これは、名前のとおりですが、そのシートを印刷したときの、そのシートの総ページ数を返してくれます。
    (ブック全体のではなく、あくまでシート別のページ数です)

    これで、各シートのページ数がわかるので
    目次シートに、この各シートの総ページ数のセルを参照して、目次を作ります。

    各シート内の任意の位置のページ番号まで記載したい場合は、
    たとえば、その節の開始行とかに、
     「=ページ番号」
    を設定してやるとそのセルにソノシート内のページ番号が入るので
    それを目次シートで前のシートまでの総ページ数の和に足すなりすればOKです。

    ちなみに、「名前の管理」で設定した
    シート別総ページ数と、改ページ行番号配列
    のマクロの最後についている
    「+Now()*0」
    は、値更新のためについています。
    これがないと、F9とかで再計算させても値が変わってくれません。
    逆にこれがあると、再計算のたびに、ページ数を計算するので若干再計算が重くなります・・。
    再計算を手動にするか、設定が終わった跡に、上記マクロの最後の「+Now()*0」をはずしておくかしておくことを
    お勧めします。

    今回は面倒だったので画像は省略しました。あしからず・・・。

    テーマ : エクセル
    ジャンル : コンピュータ

    Window7でRemoteAppを使用する方法

    Windows7には、RemoteAppという、リモートデスクトップの新しい機能があります。
    通常はリモートデスクトップで接続するとデスクトップ全体を表示しますが、
    RemoteAppを使うと、特定のアプリケーションだけを表示することができます。

    ただ、これをホストできるのは、WindowsServer2008R2だけだと思っていたのですが、
    Window7でもホストできるようです。

    【参考】WIN1@Codename リモートデスクトップサービスを構成せずにRemoteAppを使用する方法
     http://codename2010.blog11.fc2.com/blog-entry-177.html

    というわけで、Windows7が動いている端末Aの電卓を
    同じくWindows7が動いている端末BからRemoteAppで接続する方法を書いておきます。
    (といっても上記参考サイトに書いてあるままですが)

    まず、ホストする側でレジストリを1か所変更します。

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TsAppAllowList\fDisabledAllowList

    この値を1にします。

    次に、通常のリモートデスクトップをファイルに保存して.rdpファイルを作り、これをテキストファイルで開いて
    以下の3行を追記し、保存します。
    remoteapplicationmode:i:1
    remoteapplicationname:s:電卓
    remoteapplicationprogram:s:C:\Windows\system32\calc.exe

    保存したら、そのrdpファイルをダブルクリックして開き、接続します。


    テーマ : Windows 7
    ジャンル : コンピュータ

    BitmapからRegionを作る関数

    たま~に必要になるので、メモ。

    		public static Region CreateRegionFromBitmap(Bitmap bitmap)
    		{
    			if (!(bitmap.PixelFormat == System.Drawing.Imaging.PixelFormat.Format24bppRgb ||
    				bitmap.PixelFormat == System.Drawing.Imaging.PixelFormat.Format32bppArgb ||
    				bitmap.PixelFormat == System.Drawing.Imaging.PixelFormat.Format32bppRgb))
    				return null;// 24bitか32bit以外は無理
    
    			//ここの変数もっとまともな名前つけたい
    			int channels = Image.GetPixelFormatSize(bitmap.PixelFormat) / 8;
    			int offset = 0;
    			int count = channels;
    			if (bitmap.PixelFormat == System.Drawing.Imaging.PixelFormat.Format32bppArgb)
    			{//Format32bppArgbの場合はα値のみを確認する
    				count = 1;
    				offset = 3;
    			}
    
    			//ビットマップから生データを取得
    			Rectangle rectBitmap = new Rectangle(0, 0, bitmap.Width, bitmap.Height);
    			System.Drawing.Imaging.BitmapData data = bitmap.LockBits(rectBitmap,
    				System.Drawing.Imaging.ImageLockMode.ReadOnly, bitmap.PixelFormat);
    			byte[] values = new byte[data.Height * data.Stride];
    			System.Runtime.InteropServices.Marshal.Copy(data.Scan0, values, 0, data.Height * data.Stride);
    			bitmap.UnlockBits(data);
    
    			//透明にする色を取得
    			byte[] transparent = new byte[count];
    			if (count == 1)
    				transparent[0] = 0;
    			else
    			{
    				for (int i = 0; i < count; ++i)
    					transparent[i] = values[i];
    			}
    
    			//リージョンを構成するパスのインスタンス
    			System.Drawing.Drawing2D.GraphicsPath rgnPath = new System.Drawing.Drawing2D.GraphicsPath();
    
    			Rectangle rect = new Rectangle();
    			for (int y = 0; y < data.Height; ++y)
    			{
    				int offsetY = y * data.Stride;
    				for (int x = 0; x < data.Width; ++x)
    				{
    					for (int c = 0; c < count; ++c)
    					{
    						if (transparent[c] != values[offsetY + x * channels + c + offset])
    						{//透過色ではない
    							rect.X = x;//透過色ではないスタート地点を保存
    							for (++x; x < data.Width; ++x)
    							{
    								for (c = 0; c < count; ++c)
    								{
    									if (transparent[c] != values[offsetY + x * channels + c + offset])
    										goto CONTINUE;	//透過色ではないので続ける
    								}
    								break;	//次の透過色を見つけたので脱出
    							CONTINUE:
    								;
    							}
    							rect.Width = x - rect.X;
    							rect.Y = y;
    							rect.Height = 1;
    
    							//ここでパスにrectを加える
    							rgnPath.AddRectangle(rect);
    							break;
    						}
    					}
    				}
    			}
    
    			//最後にパスからリージョンを作成
    			return new Region(rgnPath);
    		}
    
    プロフィール

    ざっち

    Author:ざっち
    ざっちのーと
    ♪自由なSEのメモ帳です♪

    ざっちのスキル一覧
    ----------------
    上級(手足も同然!)
    ・.net FrameWork
    ・C#
    ・SqlServer
    ・VisualBasic6.0
    ----------------
    中級(だいたいOK!)
    ・WPF(XAML)
    ・Android
    ・WindowsMobile6.5
    ・HTML
    ----------------
    下級(や、やればできるさ!)
    ・PHP
    ・JavaScript
    ・SilverLight
    ・SQLite
    ・Python(だってjetCreaterが・・・)
    ・C++(OpenCVいじってみたくて・・・)
    ----------------
    最近のお気に入り
    ・WPF(XAML)
    ・Android
    ・GoogleAPI
    ----------------

    最近の記事
    月別アーカイブ
    カテゴリー
    夢見る羊さん
    地球の名言Ⅱ

    presented by 地球の名言

    Twitter...A

    Twitter < > Reload

    ブロとも申請フォーム

    この人とブロともになる

    ブログ内検索
    RSSフィード
    リンク
    上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。