pepoとネットワークを語ろう

40年前からこれまでとこれからのネットワークを語る

Excelへ写真を貼り付けるマクロ2

2009-05-24 18:53:26 | パソコンよもやまばなし
前回の作品で連続3回続けて写真貼り付けもいいが、セルを指定して一枚ずつ写真を貼り付ける方が自由度があってもいいかも

そこでアクティブセルへ一回限りの写真貼り付けへ改造した、office2007と2003でも確認済みよん

Sub アクティブセルへ写真貼り付け()
Dim vntFileName As Variant
Dim rng挿入先 As Range
Set rng挿入先 = ActiveCell
vntFileName = Application.GetOpenFilename( _
FileFilter:="写真 (*.bmp;*.jpg;*.tif;*.jpeg;*.png),*.bmp;*.jpg;*.tif;*.jpeg;*.png", _
Title:="挿入する写真を選択", MultiSelect:=False)
If VBA.VarType(vntFileName) <> vbString Then Exit Sub
With ActiveSheet.Pictures.Insert(vntFileName)
.Top = rng挿入先.Top
.Left = rng挿入先.Left
.Cut
rng挿入先.Select
' ActiveSheet.PasteSpecial Format:="図 (BMP)", Link:=False, DisplayAsIcon:=False
ActiveSheet.PasteSpecial Format:="図 (JPEG)", Link:=False, DisplayAsIcon:=False
Selection.ShapeRange.LockAspectRatio = msoTrue
Selection.ShapeRange.Height = 252# 'DSC(Lサイズ相当) 89mm×119mm
Selection.ShapeRange.Width = 337.5 '
Application.CutCopyMode = False
Range("A1").Copy 'クリップボードの画像を消去する為の上書き・ダミーコピー
Application.CutCopyMode = False
End With
End Sub

pepoと

ハードディスクを制御するhdparmを使ってみた

2009-05-23 10:23:51 | Linux

hdparmコマンドを知っているが使ったことがない

そこで使えそうなものを一つ紹介

[root@~]# hdparm --help

hdparm - get/set hard disk parameters - version v6.6

Usage:  hdparm  [options] [device] ..

Options:
 -a   get/set fs readahead
 -A   set drive read-lookahead flag (0/1)
 -b   get/set bus state (0 == off, 1 == on, 2 == tristate)
 -B   set Advanced Power Management setting (1-255)
 -c   get/set IDE 32-bit IO setting
 -C   check IDE power mode status
 -d   get/set using_dma flag
 --direct  use O_DIRECT to bypass page cache for timings
 -D   enable/disable drive defect management
 -E   set cd-rom drive speed
 -f   flush buffer cache for device on exit
 -g   display drive geometry
 -h   display terse usage information
 -i   display drive identification
 -I   detailed/current information directly from drive
 --Istdin  read identify data from stdin as ASCII hex
 --Istdout write identify data to stdout as ASCII hex
 -k   get/set keep_settings_over_reset flag (0/1)
 -K   set drive keep_features_over_reset flag (0/1)
 -L   set drive doorlock (0/1) (removable harddisks only)
 -M   get/set acoustic management (0-254, 128: quiet, 254: fast) (EXPERIMENTAL)
 -m   get/set multiple sector count
 -n   get/set ignore-write-errors flag (0/1)
 -p   set PIO mode on IDE interface chipset (0,1,2,3,4,...)
 -P   set drive prefetch count
 -q   change next setting quietly
 -Q   get/set DMA tagged-queuing depth (if supported)
 -r   get/set device  readonly flag (DANGEROUS to set)
 -R   register an IDE interface (DANGEROUS)
 -S   set standby (spindown) timeout
 -t   perform device read timings
 -T   perform cache read timings
 -u   get/set unmaskirq flag (0/1)
 -U   un-register an IDE interface (DANGEROUS)
 -v   defaults; same as -mcudkrag for IDE drives
 -V   display program version and exit immediately
 -w   perform device reset (DANGEROUS)
 -W   set drive write-caching flag (0/1) (DANGEROUS)
 -x   tristate device for hotswap (0/1) (DANGEROUS)
 -X   set IDE xfer mode (DANGEROUS)
 -y   put IDE drive in standby mode
 -Y   put IDE drive to sleep
 -Z   disable Seagate auto-powersaving mode
 -z   re-read partition table
 --security-help  display help for ATA security commands

前から古いノートPCのDISK回転音が気になっていた

pepolinuxは1CDLinuxなのでHDDは立ち上げの時ぐらいにしか使わない、そこでHDDのアイドルタイマーを設定

[root@~]# hdparm -S 20 /dev/hda

/dev/hda:
 setting standby to 20 (1 minutes + 40 seconds)

pepo


Excelへ写真を貼り付けるマクロ

2009-05-22 18:56:03 | パソコンよもやまばなし

これはいい!

Excelのワークシートへ写真の挿入、貼り付けが画像をクリックするだけで位置・サイズ調整・圧縮まで行うことが出来るすぐれものマクロ

一度に3枚まで連続操作が出来るが途中でキャンセルできる為一枚でも正常に動作します

Range("A1,A21,A41") を増やせば3枚以上もOK

Excelを閉じる時にCPUが100%になり大変遅いため、ダミーのコピー処理を追加してクリップボードを空にしている

以下のオリジナルから改造<m(__)m>

http://park7.wakwak.com/~efc21/cgi-bin/exqalounge.cgi?print+200802/08020023.txt

 

Sub 写真貼り付け()
    Dim vntFileName As Variant
    Dim i As Integer
    Dim int総数 As Integer
    Dim rng挿入先 As Range
    Dim rng全挿入先 As Range
    ActiveWindow.Zoom = 100
    Set rng全挿入先 = Range("A1,A21,A41")
    int総数 = rng全挿入先.Areas.Count
    For Each rng挿入先 In Range("A1,A21,A41")
        i = i + 1
        vntFileName = Application.GetOpenFilename( _
            FileFilter:="写真 (*.bmp;*.jpg;*.tif;*.jpeg;*.png),*.bmp;*.jpg;*.tif;*.jpeg;*.png", _
            Title:="挿入する写真を選択 (" & CStr(i) & " of 3)", MultiSelect:=False)
        If VBA.VarType(vntFileName) <> vbString Then Exit For
        With ActiveSheet.Pictures.Insert(vntFileName)
            .Top = rng挿入先.Top
            .Left = rng挿入先.Left
            .Cut
            rng挿入先.Select
'            ActiveSheet.PasteSpecial Format:="図 (BMP)", Link:=False, DisplayAsIcon:=False
            ActiveSheet.PasteSpecial Format:="図 (JPEG)", Link:=False, DisplayAsIcon:=False
             Selection.ShapeRange.Height = 252# 'DSC(Lサイズ相当) 89×119
             Selection.ShapeRange.Width = 337.5  '
             Selection.ShapeRange.Rotation = 0#
            Application.CutCopyMode = False
            Range("A1").Copy 'クリップボードの画像を消去する為の上書き・ダミーコピー
            Application.CutCopyMode = False
        End With
    Next
End Sub
 


Remote-Hand2VPN_v0.3公開

2009-05-06 11:53:08 | Linux

これは、VMware PlayerとOpenVPNを使いRemote-Handを手軽に実現させる、VMware Appliance用の説明です。
OpenVPNの情報サイトは数多あるが、ドキュメントを読み進めないと簡単に構築できないのではないでしょうか。ややネットワークの知識がいるがWebUIで直感的にサーバ/クライアントの設定を出来るように初チャレンジのPHPでつくりました。
それとOpenVPNは会社から自宅PCなどへ簡単に接続が出来てしまう優れものである反面、セキュリティ上企業にとって大変危険です認識して正しい目的で使いましょう。
サーバPC(WindowsXP)とクライアントPCを用意、VMware Playerが事前にインストールされていて、満足に操作が出来ることを前提として、下記にリモートハンドの使用説明をします。

サーバの用意(WindowsXP)

  1. URLから別途、PepoLinux-0.34.iso より大きいバージョンのISOファイルをダウンロードします。 http://sourceforge.jp/projects/pepolinux/releases/
  2. 展開した remote-hand フォルダへダウンロードした PepoLinux-XX.iso コピーします。 (Remote-Hand.vmx をテキストエディタで開き、下記項目をISOイメージ名に合わせ編集します。:2009.4.6現在不要) ide1:0.fileName = "PepoLinux-0.34.iso"
  3. VMware Playerで remote-hand →開く→展開したフォルダの Remote-Hand.vmx を選択→開く、起動します。この時、『コピーしました』が選択されている状態で→OK
  4. 何も操作しない状態で約2分程で立ち上がります。
  5. 立ち上がったら画面の表示に従い→ login https://xxx.xxx.xxx.xxx:8443 へアクセスします。
  6. Welcome PepoLinuxのHP一番下の『GUIでRemote-Handの設定をします。』を選択します。
  7. Web認証画面でユーザー名:remote パスワード:hand でログオンします。
  8. 『OenVPN管理者パスワード設定』画面で、ユーザー名:root パスワード:kujiraでログインします。(必要であればこの画面でパスワードの変更が出来ます。) 9.『Remote-Hand Control Pannel』で『Server Make』タブを選択
  9. 『OpenVPNサーバの設定をします。』画面で各項目入力し『処理実行』ボタンでサーバの設定をします。クライアント1~5の設定は、クライアント同士の接続する必要がある時に必要、空欄でも可『処理実行』ボタン押下後、約3分程必要です。
  10. 『Client Make』タブを選択し『OpenVPNクライアント』の設定を作成します。
  11. 『OpenVPNクライアントの設定をします。』画面で各項目入力し『処理実行』ボタンでクライアントの設定します。ここでは個別情報(ホスト名、メールアドレス)を変えてクライアント数の設定ここで作成するクライアント名は後程のダウロードに必要です、必ず記録しておく国名~組織名がサーバの情報と一致しないとここではエラーにならないが、接続出来ない。
  12. 『Client Download』タブを選択します。
  13. 12項で設定した、クライアント名を入力して『処理実行』ボタンでクライアントの設定をダウンロードします。
  14. サーバの操作はこれ迄です、『Server Control』タブ選択します。
  15. 『Server Control』の画面で『OpenVPN再起動』を選択して『処理実行』ボタンでOpenVPNを起動します。メッセージに [ OK ] が表示されたら正常です。クライアントがインターネット経由で接続される時にサーバ側では使用するVPNポート番号をブロードバンドルータ等でOpenVPNサーバへポート・フォワーディングさせる設定が必要です。 VPNポート番号は推奨『443』ですが、これ以外を設定したら別途『Filtering Setup』タブでIPフィルタの一時設定を変更します。

クライアントの用意(WindowsXP)

  1. Serverの14項でダウンロードしたファイル、例として『pepo1.zip』ファイルを『OpenVPNクライアント』へアップロードします。
  2. サーバと同様にログイン後、『ClientUpload』タブを選択
  3. 『クライアントの設定情報をアップロードします。』画面で『参照』ボタンで『pepo1.zip』を選択して、『処理実行』ボタンでアップロードします。
  4. サーバの15,16項と同様にOpenVPNを起動します。
  5. EthernetSetupで』タブでインターフェース『tun0』と10項で設定した『VPNネットワーク』アドレスが表示されたらVPNサーバへ正常に接続されています。クライアントPCのWindowsのDOSプロント画面から route add コマンドでサーバLAN側のroute情報を追加例 route add 192.168.123.0 mask 255.255.255.0 192.168.234.128 サーバのLAN側へPINGを飛ばし確認します。
  6. Serverの14項でダウンロードした、例『pepo1.zip』はWindows版のOpenVPNのクライアント設定内容も含みます。圧縮とパスワードで暗号化されているのでWindowsXPで所定のフォルダへ移動させて解凍するパスワードは『ユーザ名:パスワード』ユーザ名とパスワードを:コロンで連結したものです。
  7. 正常に稼動するのを確認してログオフして下さい。この時VPNの設定情報のみバックアップします。再起動してもVPNの設定情報は保持するがIP、routeなどは初期値へ

接続されない場合の確認

  • サーバ~クライアント間にIP通信ルートとポートフォワーディングが出来ていること『Server Control』でping、tcptracerouteテストを行う tcptracerouteテストは、デバック用にクライアントが接続出来ない時に使うものでiptablesの停止とOpenVPNの再起動が必要
  • アンチウィルスの種類によりファイヤーウォールを無効にする必要がある
  • クライアント・サーバが無線LANの場合、簡易設定で接続出来ない場合がある?
  • 『Server Log』でシステムログの確認
  • iptablesを停止してみる

参考

  • サーバに対してクライアント時計が2時間程遅れると接続不可で下記エラーログを表示
Apr 3 11:27:17 (none) openvpn2791: VERIFY ERROR: depth=1, error=certificate is not yet valid:
  • サーバから接続クライアント単独だけでなくクライント・ネットワーク全体と通信したい場合の操作
    • クライアント側のネットワークアダプタ3を『ホストオンリー』から『ブリッジ』接続へ変更
    • クライアント側のVPN接続方法を『VPN Client起動』から『VPN Server起動』へ変更して操作する
    • サーバ側の操作は変わりません

その他

2009.4.26 Copyright by IZAMUKARERA

http://sourceforge.jp/projects/pepolinux/