アーカイブ

‘デジタル’ カテゴリーのアーカイブ

alertとpromptのどちらを使うか

2010 年 3 月 5 日 コメントはありません

ブックマークレットで、取得した何らかの結果を表示させるにはアラートまたはプロンプトを使う。

javascript:(function(){alert(’sample’);})()
javascript:(function(){a=window.prompt(‘title’,’sample’);})()

promptを使った場合は、IEならば、文字列がテキストボックスに出力され、選択状態になるので、コピーが簡単である。

ExcelのVBAでテキストファイルを出力する

2010 年 2 月 12 日 コメントはありません

ExcelのVBAでテキストファイルを出力する方法を考える。
次はアクティブシートのセルA1からA10の内容を「出力結果.txt」というテキストファイルに出力する場合のコードである。
この例ではセルの中身を単純にそのまま書き出しているが、実際には何らかの変換を施して使うのであろう。

Sub テキストとして出力()
fnsave = “出力結果.txt”
numff = FreeFile
Open fnsave For Output As #numff
For i = 1 To 10
temp = Cells(i, 1)
Print #numff, temp
Next i
Close #numff
End Sub

次のコードは出力する内容を変数にため込み、一気に書き込む方法である。
セルの順番を入れ替えたり、セル同士を結合したり、上の例より柔軟に処理ができるかもしれない。
ただし、上と違って、自動的に改行が入らないことに注意する。もし改行を入れるならば「temp = temp & Cells(i, 1)」のところを「temp = temp & Cells(i, 1) & Chr(13)」と書くとよい。

Sub テキストとして出力2()
fnsave = “出力結果.txt”
numff = FreeFile
Open fnsave For Output As #numff
temp = “”
For i = 1 To 10
temp = temp & Cells(i, 1)
Next i
Print #numff, temp
Close #numff
End Sub

ファイル名を変えたり、保存場所を変えたりしたい場合には、1行目の代わりに次のように書くとよい。

fnsave = Application.GetSaveAsFilename(“出力結果.txt”, “テキスト(*.txt),*.txt”)
If fnsave = False Then Exit Sub

カテゴリー: デジタル タグ: , ,

ブックマークレットで目的のウェブサイトを開く方法

2010 年 2 月 12 日 コメントはありません

ブックマークレットを使って特定のページを開く場合は次のような方法があります。

同じウィンドウで開く
javascript:(function(){document.location.href=URL})()

別のウィンドウで開く
javascript:(function(){window.open(URL)})()

表紙の次からページ番号を付ける方法

2010 年 2 月 12 日 コメントはありません

マイクロソフトWord2007で表紙の次からページ番号を付ける方法は次の通り。

  1. 挿入-ページ番号-ページの下部-番号のみ。※既にページ番号を挿入してある時は、挿入-フッター-フッターの編集。
  2. このとき、ヘッダー/フッターツールが開く。
  3. ページ番号-ページ番号の書式設定-開始番号に「0」を入力。これで2ページ目に「1」と表示される。
  4. オプションの先頭ページのみ別指定にチェック。これで表紙のページ番号が消える。

ヘッダー/フッターツールを開くのがポイント。これが最初の状態では開かない。フッターの編集をしようとすると開く。印刷レイアウトで表示されている場合はフッターのあたりをダブルクリックしてもよい。

カテゴリー: デジタル タグ: ,

Wordのマクロでインデントを操作する

2010 年 2 月 4 日 コメントはありません

次のコードはマイクロソフトWordのマクロ(VBA)で文書内のすべての段落のインデントを10ポイントにする例である。

Sub インデントテスト()
For i = 1 To ActiveDocument.Paragraphs.Count
a = ActiveDocument.Paragraphs(i)
ActiveDocument.Paragraphs(i).Range.Select
With Selection.ParagraphFormat
.LeftIndent = 10
.FirstLineIndent = 0
End With
Next i
End Sub

段落の数を数え、それぞれの段落についてインデントを設定する。
LeftIndentにポイント数を入れ、左インデントを設定する。
FirstLineIndentは最初の行の左インデントを設定するためのもので、字下げやぶら下げをしない場合は「0」とする。

字下げやぶら下げをする場合は段落ダイアログを使う場合と違う挙動をするので注意を要する。

字下げをする場合は
LeftIndent = 10
FirstLineIndent = 10
とする。この場合、段落全体のインデントは10ポイントで、最初の行のインデントは20ポイントになる。

□□日本国民は、正当に選挙された国会におけ
□る代表者を通じて行動し、われらとわれらの
□子孫のために、

ぶら下げをする場合は
LeftIndent = 10
FirstLineIndent = -10
とする。この場合、最初の行のインデントは0ポイントで、二行目以降のインデントは10ポイントとなる。
つまり「LeftIndent」は二行目以降のインデントを表し、「FirstLineIndent」は最初の行のインデントと二行目以降とのインデントの差を表す。ぶら下げをする場合は、最初の行を「字上げ」すると考えると分かりやすい。

日本国民は、正当に選挙された国会における代
□表者を通じて行動し、われらとわれらの子孫
□のために、

実は、これだけならば、特にマクロを使う必要はない。
コードの3行目の「a = ActiveDocument.Paragraphs(i)」の部分を使えば、文字列の内容を判断してインデントの処理を振り分ける、というような使い方ができる。
なお、ここでは、インデントを直にセットする方法を書いたが、スタイルを使う方法もある。

カテゴリー: デジタル タグ: , ,

Wordのマクロで段落を操作する

2010 年 2 月 4 日 コメントはありません

マイクロソフトのWordでは、段落は「改行マークの次から改行マークまで」を指します。これをマクロ(VBA)で取得する基本的な方法は次の通りです。
なお、対象は現在の文書です。

内容 コード
最初の段落 ActiveDocument.Paragraphs(1)
最初の段落の範囲 ActiveDocument.Paragraphs(1).Range
最初の段落の範囲の文字列 ActiveDocument.Paragraphs(1).Range.Text
最初の段落の範囲の最初の文字 ActiveDocument.Paragraphs(1).Range.Characters(1)
段落の数 ActiveDocument.Paragraphs.Count
カテゴリー: デジタル タグ: ,

Amazonのリンクを作成するブックマークレット

2010 年 1 月 17 日 コメントはありません

Amazonのシンプルなリンクを作るブックマークを作ってみました。
Amazonの商品ページ(単品)を開いた状態で実行すると、リンク用の文字列(HTML)が表示されたダイアログが出ます。
Firefoxで動作を確認しました。

「xxxxx-22」のところを自分のアソシエイトIDに置き換えます。

javascript:(function(){asin=(document.location.href).match(/[0-9a-z]{10}/i);obim=document.getElementById(‘prodImage’);str=’<a%20href=http://www.amazon.co.jp/exec/obidos/ASIN/’+asin+’/xxxxx-22/ref=nosim/%20target=_blank><img%20src=’+obim.src+’><br>’+obim.alt+’</a>’;alert(str);})();

Amazonはよく仕様を変えるので、いつまで使えるか、分かりません。

ヘルプファイルが開かないときはブロックの解除

2010 年 1 月 7 日 コメントはありません

PHPのヘルプファイル(マニュアル)はPHP: Get Downloadで入手できます。

しかしこれを開こうとすると「Web ページへのナビゲーションは取り消されました」と表示され中身が読めません。

このような場合は、ヘルプファイルのプロパティを開き、全般タブの「ブロックの解除」をクリックすると次からは正しく開くようになります。

カテゴリー: デジタル タグ: , ,

特定のセルが変わったときにマクロを実行する方法

2009 年 12 月 22 日 コメントはありません

普通、Excelのマクロは、ボタンを押したり、メニューから選択したときに実行されます。
ワークシートが変わったときに自動的にマクロを実行するようにすることもできます。
その方法は次の通りです。

  1. 開発-VisualBasicを開く。
  2. プロジェクトエクスプローラ(左側)で、該当のシートをダブルクリック。
  3. コード(右側)のオブジェクト(「(General)」となっている)から「Worksheet」を選択。
  4. プロシージャ(「(Declarations)」となっている)から「Change」を選択。
  5. コードを書く。

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row = 3 And Target.Column = 8 Then
Call プロシージャ
End If
End Sub

このように書くと3行目8列目のセルが変わったときに指定したプロシージャが動作します。
もしIfを使わないとそのシートのどこかのセルが変わったときに動作します。何かをやる度にプロシージャが動作してしまうので意図しない動きをするかもしれません。

カテゴリー: デジタル タグ: ,

重複ファイルを見つけるEasy Duplicate Finder

2009 年 12 月 19 日 コメントはありません

以前、使っていたのですが、パソコンの買い換えで再インストールすることになったので、メモしておきます。
重複ファイルを見つけて削除するためのフリーソフトです。
Utilities -> Registry & Disk Cleaners -> Download Easy Duplicate File Finder

「Step1」で検索するフォルダを指定します。複数指定することができます。

「Step2」で「Start」をクリックすると重複ファイルを検索してリスト表示します。
このリストを見ながら要らないファイルを選びます。
これが面倒ですが、便利な方法があります。
リスト上で右クリックするとメニューが表示されます。
ここで「Select all files: Leave only newest version in each Dup.Group」を選ぶとよいでしょう。重複ファイルグループの中で最も新しいファイル以外を自動的に選択してくれます。

「Step3」で「Delete Selected」をクリックします。
これで重複ファイルが全部削除されます。

カテゴリー: デジタル タグ: