ANA国内線【PR】

カテゴリ:Excel

  • Excel2010 オブジェクトの順序
    [ 2010-06-21 22:39 ]
  • Excel2010 印刷プレビュー
    [ 2010-06-19 15:08 ]
  • Office2010 インストール
    [ 2010-06-17 19:00 ]
  • 口なしドラえもん その後+1
    [ 2007-01-20 09:19 ]
  • 口なしドラえもん その後
    [ 2007-01-20 04:19 ]
  • 履歴
    [ 2006-09-06 22:37 ]
  • Excelシートへ画像を貼り付ける
    [ 2006-07-22 04:25 ]
  • Excel4マクロ
    [ 2006-06-23 23:21 ]
  • 口なしドラえもん
    [ 2006-06-21 22:44 ]
  • 合成可能な丸
    [ 2006-06-11 13:55 ]

 

Excel2010 オブジェクトの順序

Office 2010では下に引用したサポート情報にある「不具合」がありました。
Office 2007 で 図形の順序が変更されない場合がある
現象
通常 Microsoft Office 2007 にて、複数のオブジェクトを描画した場合、後から描画したオブジェクトが前面に配置されます。また、後からオブジェクトの配置順序を変更することも可能です。しかし、オブジェクトの種類により、Microsoft Office 2007 では、オブジェクトの配置順序を変更できない場合があります。

原因
Microsoft Office 2007 では、一部のオブジェクトが新しいグラフィック エンジンを利用するように変更されていますが、以前と同じグラフィック エンジンで描画するオブジェクトも存在します。どのオブジェクトがどのエンジンで描画されるかは、アプリケーションによって異なりますが、この異なる 2 つのエンジンで描画されたオブジェクトが同一ドキュメントにある場合、古いエンジンで描画したオブジェクトの前面に新しいエンジンで描画したオブジェクトを配置することができません。
(略)
問題の再現手順
Office Word 2007

1. Word 2007 を起動します。
2. [挿入] タブをクリックし、[SmartArt] グループから任意の SmartArt を挿入します。
3. [挿入] タブをクリックし、[図形]グループから四角形を挿入します。
4. 挿入した 2 つのオブジェクトを重ねます。 四角形が前面に表示されていることを確認します。
5. 手順の 3 で挿入した四角形を右クリックし、[順序] をポイントし、[最背面へ移動] をクリックします。

Excel2010で「問題の再現手順」を行ってどうなるか確認してみました。

Excel2010では、再現しませんでした。
 

by lautan | 2010-06-21 22:39 | Excel | Trackback | Comments(0) 

Excel2010 印刷プレビュー

Excel2010では(すでにβテスト版で文句が出ていましたが)印刷プレビュー画面がありません。
左上の ファイル から  印刷 を選択すると、画面左1/3くらいに印刷設定、右2/3くらいが従来の印刷プレビュー相当の画面になります。

(画像をクリックすると拡大表示します)

これは、これで便利なのですが、やはり従来の全画面の印刷プレビュー画面も見たい!と思います。
「Office TANAKA」に解決策が載っていました。
新しくなった印刷プレビュー
QATにマクロ登録する方法も「Office TANAKA」に載っています。
QATにマクロを登録する
私は個人用マクロブックPersonal.XLSBにマクロ作成し、それをQATに登録しました。

登録後のQATです。

(挿入 - 図形 の機能も登録してあります)

by lautan | 2010-06-19 15:08 | Excel | Trackback | Comments(0) 

Office2010 インストール

本日はMicrosoft Office2010の一般発売日(企業向けは先月リリース済)
ヨドバシカメラで「Office Professional 2010」を購入してインストールしました。

今回からMS Officeは32ビット版と64ビット版が同じDVDに同梱されています。
折角だから64ビット版をインストールします。
MS Office2007は32ビット版しかないので、それがインストールされた環境に64ビット版の上書きインストールはできないだろうな、と思いつつ試してみたら、やっぱりできません。

MS Office2007をアンインストールして、

ようやくインストールできました。

by lautan | 2010-06-17 19:00 | Excel | Trackback | Comments(0) 

口なしドラえもん その後+1

口なしドラえもんは、楕円を描くときの色設定がデフォルトで白になっていないので、その所のコードを直したら、何とか元の色のドラえもんになってくれました。
β版で、口が無くなったり髭があらぬ方向に伸びていったのは解消されました。
ただし、吹き出しの始点位置が違うのはまだ修正方法がわかりません。

by lautan | 2007-01-20 09:19 | Excel | Trackback | Comments(2) 

口なしドラえもん その後

Excel2007の正規版をインストールしてみたので、以前試してみた「口なしドラえもん」が、直っているか試してみました。
結果は...、

残念!でも、良くなってはいるみたい?
参考記事:メインディッシュはたこ焼き・いか焼き・もんじゃ焼き

ちなみにExcelとOSのバージョンは以下の通りです。

by lautan | 2007-01-20 04:19 | Excel | Trackback | Comments(0) 

履歴

久しぶりにExcelの話題です。試したのはExcel2003ですが、以前のバージョンでも同じのようです。


Excelで履歴という名称のシートを作成しようとすると

「履歴」は予約語のため、シート名に使用できません。


というメッセージが表示され、履歴という名称のシートを作ることが出来ません。

なぜかというと、変更履歴の記録で「履歴」という名前のシートが作成されるので「履歴」はシステム上、予約された言葉になっているようです。

まず「ツール」-「変更履歴の記録」で変更履歴の記録を開始します。


その後、シートの編集作業を行い、保存した後に「ツール」-「変更履歴の記録」で、今度は、「新しいシートに変更箇所一覧を作成する」にチェックを入れて「OK」をクリックしてください。



「履歴」というシートが自動的に作成され、そこに変更履歴が書き込まれています。
この「履歴」シートを他の目的に利用しようとしても、ブロックが掛かっていて出来ないようです。

by Lautan | 2006-09-06 22:37 | Excel | Trackback(1) | Comments(0) 

Excelシートへ画像を貼り付ける

しばらくExcel2007の事を何も書いていません。実はVISTAβ版をインストールしたPCに新しい版のVISTAβ版を入れたところ、グラフィックボードのドライバが無くて往生してます。したがってExcel2007を触るのは「某Q&Aサイト」と同じでしばらくお休み。でも、このまま再開しないと言うこと事はありませんので、「期待しないで」お待ちください(苦笑)。




代わりにExcel2003の話を書きます。

画面のハードコピーを取ったり、(1)WEB上の画像を右クリックしてコピーしたものをそのままExcel2003のシートに貼り付けると、マウスカーソルで指定した箇所(選択したセル)に張り付きます。
ところが(2)いったんWindowsXP付属のペイントに貼り付け、そこで貼り付けた画像をコピーしてExcel2003のシートに貼り付けると、シートの左上に張り付きます。

(1)を「形式を選択して貼り付け」をすると、選択可能な形式は「ビットマップ」だけです。
(2)の場合は、ビットマップイメージオブジェクト、図(拡張メタファイル)、ビットマップが選択可能です。
このうち、選択可能なリストの最上位にあるのが、ビットマップイメージオブジェクトで、単に「貼り付け」を選択した場合は、この形式で貼り付けられると思われます。
つまり、ビットマップイメージオブジェクトは選択したセルに張り付いてくれないようです。
図(拡張メタファイル)は、選択したセルに張り付きますが、微妙にサイズが小さくなります。(3)

なお、貼り付けた画像をさらにコピーして「形式を選択して貼り付け」しようとすると
図(PNG)、図(JPEG)、図(GIF)、図(拡張メタファイル)、MS Office描画オブジェクトが選択可能になり、これらはどれも選択したセルに張り付きます。サイズも変化しません。

これもVISTA+Excel2007でどうなるか、後日試してみたいと思っています。

by Lautan | 2006-07-22 04:25 | Excel | Trackback | Comments(3) 

Excel4マクロ

前回Excel2007β版のマクロで、オートシェイプ関連の物はExcel2003以前とかなり違いがあると書きました。もちろん製品版では直っている可能性もあります。
それではExcel4マクロはどうなっているでしょうか?

ExcelでVBAがマクロ言語として使用できるのはバージョン5以降です。Excelバージョン4以前は、VBAでは無く独自のマクロ言語が使われていました。
互換性維持のためExcelバージョン5以降もExcel4マクロの使用は出来るようになっています。ワークシート画面が表示されている時に、CTRLキーを押しながらf11キーを押すと、マクロ記述用のマクロシートが挿入されます。
今回、確認したところ、Excel2007β版でも上の操作は可能でした。Excel4マクロなど知らないので(苦笑)、実際に動かしては見ませんでしたが。

さて、Excel4マクロは名前定義を使えばワークシート上でも使用可能です。定番で、セルの色をカウントする時にExcel4マクロを使用するというテクニックがあります。(本来ならExcel4マクロではなくVBAでユーザー定義関数を組むのが良いです。)

Excel2003での例

「挿入」-「名前」-「定義」で「名前」欄にgetcellと定義(定義する名前は特に決まっていません、getcellは一例です。)
「参照範囲」欄に=GET.CELL(24,A1)+NOW()*0 と入力して「OK」

これで、任意のセルに =getcell と入力すれば、そのセルの前景色のカラーインデックス番号を返します。

Excel2007β版での例
さて「Excel2003での例」をExcel2007β版に読み込ませてみました。結果は #NAME?になってしまいました。


これは、大変と「名前」を再定義します。Excel2003では「挿入」-「名前」でしたが、Excel2007β版ではどこにあるのだろう?
どうやら「数式」-「名前付きセル」のようです。名前を新規に登録するのは「範囲に名前を付ける」で、修正は「名前の管理」で行います。



「名前の管理」で「編集」を選択し内容を確認して、特に修正点がないので「OK」-「閉じる」で終了させると、#NAME?は解消しましたが、セルに返ってくる値がすべて0になっています。

これがワークシートをマクロ実行可能な形式で保存しても同じでした。
最初にも書きましたが、製品版では直っている可能性もあります。しかし、もう過去の資産としてExcel4マクロは捨て去る時期に来ているのでしょう。上に書いた定番のTIPSにも、もう引退してもらった方が良さそうです。

by Lautan | 2006-06-23 23:21 | Excel | Trackback | Comments(1) 

口なしドラえもん

某ブログ(この書き出しマンネリ?)で、ドラえもんの絵を描くマクロがExcel2007で動かない(というより動くんだけどちゃんとしたドラえもんにならない)と書いてありました。
試してみたらやはり変!

原因はVBAでのオートシェイプの描画内容が変わったことに有るようです。

今回ドラえもんを描画するVBAプログラムを見ていくと、Excel2003のVBAの機能から以下の変更がありました。
(1)カラーインデックスのデフォルトカラーが変わった
(2)オートシェイプの規定値が塗りつぶしになった
(3)自由線を引く構文が変わった
(4)吹き出しを修正する構文が変わった

このうち(1)(2)はプログラムを修正することで対応可能ですが、(3)(4)の対応方法が分かりません。
そもそもExcelにはマクロの自動記録機能があって、オートシェイプの作成もマクロ記録出来たのですが、Excel2007β2ではオートシェイプの描画がマクロ記録出来ません。
どうも、まだオートシェイプ関連のVBAは作り込み不足のようです。
(3)(4)が変わるのはあんまりなので、これは正規版では過去との互換性を維持する方向になるような気がします。
つまりこれは仕様変更ではなく単なる(あわわ)では無いかと。
また(1)(2)についても、互換性を維持してくれないと困ります。

さて、Excel2003でも2007β2でもちゃんと動くようにドラえもん描画プログラムを変えてみましたが、2007β2では口をかくところがうまく動かないので、ここはコメントアウトしました。
おかげで口のないドラえもんになってしまいました。安倍晴明の時代だったら、口なしドラえもんが枕元に化けて出てくるかもしれません(笑)
---------------------------------------------------------------------------------------
Option Explicit

Sub DORA()
Dim L As Long, T As Long
Range("a1").Select
L = ActiveCell.Left - 160
T = ActiveCell.Top - 50

ActiveSheet.Shapes.AddShape _
(msoShapeOval, 283.5 + L, 128.25 + T, 51#, 72.75).Select
Selection.ShapeRange.Fill.ForeColor.RGB = RGB(255, 255, 255)
Selection.Copy
ActiveSheet.Paste
Selection.ShapeRange.Top = 128.25 + T
Selection.ShapeRange.Left = 283.5 + 51 + L

ActiveSheet.Shapes.AddShape _
(msoShapeOval, 310 + L, 160 + T, 11.25, 21#).Select
Selection.ShapeRange.Fill.ForeColor.RGB = RGB(0, 0, 0) '//黒
ActiveSheet.Shapes.AddShape _
(msoShapeArc, 352 + L, 165 + T, 7.5, 8.25).Select
Selection.ShapeRange.Adjustments.Item(1) = 180
Selection.ShapeRange.Line.Weight = 2.25
Selection.ShapeRange.Line.BackColor.RGB = RGB(255, 255, 255) '//白

ActiveSheet.Shapes.AddShape _
(msoShapeOval, 319.5 + L, 191.25 + T, 27.75, 28.5).Select
Selection.ShapeRange.Fill.ForeColor.RGB = RGB(255, 0, 0) '//赤
ActiveSheet.Shapes.AddShape _
(msoShapeOval, 336.75 + L, 197.25 + T, 8.25, 8.25).Select
Selection.ShapeRange.Fill.ForeColor.RGB = RGB(255, 255, 255) '//白

ActiveSheet.Shapes.AddShape _
(msoShapeOval, 229.5 + L, 155.25 + T, 212.25, 173.43).Select
Selection.ShapeRange.Fill.ForeColor.RGB = RGB(255, 255, 255) '//白
Selection.ShapeRange.ZOrder msoSendToBack
Selection.ShapeRange.ScaleHeight 0.97, _
msoFalse, msoScaleFromBottomRight

ActiveSheet.Shapes.AddShape _
(msoShapeOval, 204.75 + L, 91.5 + T, 263.25, 237.75).Select
With Selection.ShapeRange
.Fill.ForeColor.RGB = RGB(100, 100, 255) '//スカイブルー
.ZOrder msoSendToBack
.ScaleHeight 0.9579, msoFalse, msoScaleFromBottomRight
.ScaleWidth 0.97, msoFalse, msoScaleFromBottomRight
.IncrementTop -0.75
End With

ActiveSheet.Shapes.AddLine _
(333.75 + L, 221.25 + T, 333.75 + L, 266.25 + T).Select '//ひげ
ActiveSheet.Shapes.AddLine _
(375.75 + L, 215.25 + T, 423.75 + L, 226.5 + T).Select
Selection.ShapeRange.Flip msoFlipVertical
ActiveSheet.Shapes.AddLine _
(375.75 + L, 235.5 + T, 426 + L, 239.25 + T).Select
Selection.ShapeRange.Flip msoFlipVertical
ActiveSheet.Shapes.AddLine _
(375.75 + L, 252 + T, 423.75 + L, 255.75 + T).Select
ActiveSheet.Shapes.AddLine _
(247.5 + L, 219.75 + T, 288.75 + L, 225.75 + T).Select
Selection.ShapeRange.Flip msoFlipHorizontal
Selection.ShapeRange.Flip msoFlipVertical
ActiveSheet.Shapes.AddLine _
(243.75 + L, 239.25 + T, 288.75 + L, 239.25 + T).Select
Selection.ShapeRange.Flip msoFlipHorizontal
ActiveSheet.Shapes.AddLine _
(251.25 + L, 252 + T, 291 + L, 257.25 + T).Select
Selection.ShapeRange.Flip msoFlipHorizontal

'With ActiveSheet.Shapes.BuildFreeform _
'(msoEditingAuto, 246 + L, 240 + T)
'.AddNodes msoSegmentCurve, msoEditingAuto, 241.5 + L, 250.5 + T '//口
'.AddNodes msoSegmentCurve, msoEditingAuto, 261.75 + L, 261.75 + T
'.AddNodes msoSegmentCurve, msoEditingAuto, 334.5 + L, 268.5 + T
'.AddNodes msoSegmentCurve, msoEditingAuto, 395.25 + L, 263.25 + T
'.AddNodes msoSegmentCurve, msoEditingAuto, 428.25 + L, 252 + T
'.AddNodes msoSegmentCurve, msoEditingAuto, 420.75 + L, 241.5 + T
'.ConvertToShape.Select
'End With
ActiveSheet.Shapes.AddShape _
(msoShapeOval, 321.25 + L, 330 + T, 33#, 31.5).Select
Selection.ShapeRange.Fill.ForeColor.RGB = RGB(255, 255, 0) '//黄色
ActiveSheet.Shapes.AddShape _
(msoShapeRoundedRectangle, 317.5 + L, 342.75 + T, 40.5, 6#).Select
Selection.ShapeRange.Fill.ForeColor.RGB = RGB(255, 255, 0) '//黄色

ActiveSheet.Shapes.AddShape _
(msoShapeRoundedRectangle, 334.75 + L, 351 + T, 6#, 8.25).Select
Selection.ShapeRange.ScaleHeight 1.27, msoFalse, msoScaleFromTopLeft
Selection.ShapeRange.Fill.ForeColor.RGB = RGB(0, 0, 0) '//黒

ActiveSheet.Shapes.AddShape _
(msoShapeOval, 240.75 + L, 261 + T, 192#, 75.75).Select
With Selection.ShapeRange
.ScaleHeight 1.63, msoFalse, msoScaleFromBottomRight
.IncrementLeft -1.5
.ScaleWidth 1.06, msoFalse, msoScaleFromTopLeft
.ScaleHeight 1.01, msoFalse, msoScaleFromTopLeft
.Fill.ForeColor.RGB = RGB(255, 0, 0) '//赤
.ZOrder msoSendToBack
End With

ActiveSheet.Shapes.AddShape _
(msoShapeOvalCallout, 493.5 + L, 73.5 + T, 324#, 144.75).Select '//吹き出し

With Selection
.Characters.Text = "ぼく、ドラえもん です。"
.Font.Size = 20
.Font.Color = RGB(0, 0, 0) '//黒

'.ShapeRange.Adjustments.Item(1) = -0.0139
'.ShapeRange.Adjustments.Item(2) = 0.9586

.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.ShapeRange.Fill.ForeColor.RGB = RGB(100, 255, 100) '//ライトグリーン
End With

ActiveCell.Activate
End Sub

by Lautan | 2006-06-21 22:44 | Excel | Trackback | Comments(0) 

合成可能な丸

別の所に書いたVista+Excel2007の文字コード関連の記事です。

合成可能な丸

http://www.geocities.jp/laut6/moji/vista7.html
http://www.geocities.jp/laut6/moji/vista8.html

by Lautan | 2006-06-11 13:55 | Excel | Trackback | Comments(0)