月: 2017年9月

ExcelVBA覚書 図形コピー

ワークシート上にある「SHP1」という名前の図形をコピーして、「SUB_SHP1」という名前を付け、B2セル内に配置するロジックを考えてみた。
コピー元の図形のDuplicateメソッドをつかって、新しい図形(コピー先:以下サンプルでは変数「shp」のこと)を作り、その新しい図形のプロパティをいじって、図形の位置とか、図形の名前、図形に紐づくマクロの設定などを行う。
サンプルでは、セルB2の下部中央に配置する方法。

Dim ws  As Worksheet
Dim shp As Shape

Set ws = Thisworkbook.Worksheets("Sheet1")
Set shp = ws.Shapes("SHP1").Duplicate
With shp
  .Top = ws.Range("B2").Top - .Height -5
  .Left = ws.Range("B2").Left + (ws.Range("B2").Width - .Width) / 2
  .Name = "SUB_SHP1"
  .Visible = msoTrue
  .OnAction = "RunXXX"
End With
Set shp = Nothing
Set ws = Nothing

図形のコピーに「Duplicate」を使うというのは初めて知った。duplicateの意味が「複写する」ってことらしい。

久しぶりに錦市場にいったら・・・

錦市場に行ってきた。
いっぱい食べ物を買ってしまったが、「なんか、値段高くない?」
で、立ち食い・歩き食い用のもんばっかりが目についたんだけど、「なんか、質落ちてない?」

ヨーロッパの人とかだと物価が高いのは慣れっこだからそうでもないんだろうけどね、なんかレベルが下がった感たっぷりで、もう行く気もなくなってしまった。

とはいえ、まぁいろいろ面白いものもあったし、うまいものもあったから、まぁいいっちゃいいねんけど。

「で、あなたたち、ホントにそれでいいん?」と、ちょっと大きなお世話なことを思ってしまった。

VMware覚書 仮想マシンWin2000 Proを作成する

Windows2000をVMWareに入れるときに困ったのは、
1) Windows10、VMware Workstation 12 Playerでやると入れられなかった。
2) Windows7、VMware Workstation 12 Playerでやると入ったが、
 Windows2000(SP4)だけではVMware Toolsが入らず修正プログラム「KB835732」が必要だった。

というこの2点。

1つ目は、当該の仮想マシンの設定で、プロセッサの優先モードを「Intel VT-x or AMD-V」か、「Intel VT-x/EPT or AMD-V/RVI」にする。

2つ目は、以下のアップデートファイルをインストールする。
Windows 2000 用セキュリティ問題の修正プログラム (KB835732)
http://www.catalog.update.microsoft.com/Search.aspx?q=KB835732

で、解決!

AccessVBA覚書 IsNumeric関数

数値(整数)チェックをしようと、

Function CheckNumber(v as Varient) As Boolean
  CheckNumber = True
  If Len(v)=0 Then Exit Function
  If IsNumeric(v) Then Exit Function
  CheckNumber = False
End Function

とか記載したら、vに「a」とか入れてもTrueで返ってきてしまった。

Function CheckNumber(v as Varient) As Boolean
  CheckNumber = True
  If Len(Cstr(v))=0 Then Exit Function
  If IsNumeric(Cstr(v)) Then 
    If InStr(Cstr(v),".")=0 Then Exit Function '小数じゃなかったら(簡易チェック)
  End If
  CheckNumber = False
End Function

みたいに、文字列に変えてからIsNumericしたらうまくいった。
関数の引数を文字列型にするってのも手だけど、簡易版なのでこれでいいかなと思った。