[リストへもどる]
一括表示

投稿時間:2004/01/05(Mon) 11:27
投稿者名:mami
URL :
タイトル:
エクセルのオートシェイプについて
初めて投稿させて頂きます。 mami と申します。

VB6.0 より Excel のオートシェイプを90度回転させたいのです。

Excel のマクロで、次のようにするのだと言う事は分かったのですが、

  xlsShape.ShapeRange.Rotation = 90#

これでは、

  実行時エラー:438
  オブジェクトは、このプロパティまたはメソッドをサポートしていません。

というメッセージが表示されます。
オートシェイプを Excel に追加する時に、テキストを追加したい為に下記のとおりの方法を使ってい
ます。

  Set xlsShape = xlsSheet.Shapes.AddShape(51, 35.25, 35.25, 43.5, 16.5).TextFrame

自分なりに調べたところ、ShapeRange がどうやっても使えないようなのです。
何か方法はありませんか?
何卒、宜しくお願い致します。 m(__)m

投稿時間:2004/01/05(Mon) 14:02
投稿者名:ak
Eメール:
URL :
タイトル:
Re: エクセルのオートシェイプについて
こんにちは。

こんな感じでしょうか?

'(*.frm)フォームにCommandButtonを1個配置してください。
'「Microsoft Office 9.0 Object Library」を参照設定してください。
'実行環境:Win2000,VB6 SP5,Excel2000
Option Explicit
Private pxlsExcel    As Excel.Application
Private pxlsWkBook   As Excel.Workbook

Private Sub Form_Load()
    Set pxlsExcel = CreateObject("Excel.Application")
    Set pxlsWkBook = pxlsExcel.Workbooks.Add
    pxlsExcel.Visible = True
End Sub

Private Sub Command1_Click()
    With pxlsWkBook.ActiveSheet.Shapes.AddShape(51, 35.25, 35.25, 43.5, 16.5)
        .TextFrame.Characters.Text = "1"    'テキスト追加及び表示『1』
        .Rotation = 90                      '90度回転
    End With
End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    Set pxlsExcel = Nothing
    Set pxlsWkBook = Nothing
End Sub

投稿時間:2004/01/05(Mon) 16:38
投稿者名:mami
URL :
タイトル:
Re^2: (お礼)エクセルのオートシェイプについて
ak 様 早速のレス有難う御座いました。 m(__)m

上手くいきました。 本当に助かりました。(T_T)

今回初めて Excel のマクロを使わずに帳票を作成する事になり、
見易いようにと、オートシェイプを使ってみたのですが、
ある程度までは、 Excel のマクロで何とかやってみたのですが
もう、お手上げ状態になってしまいました。

皆さんは、どのようにされているのでしょうか?
やはり、手探りで地道にされているのでしょうか?

力強い味方が出来たようです。
これからも宜しくお願い致します。 m(__)m