1 (изменено: inseption86, 2018-08-24 12:42:58)

Тема: AHK: Com_Excel_Snapes

Добрый день! Нигде не могу найти информацию по вставке фигур в excel, нашел vba (прям тот, который нужен). Возможно ли это переделать в ahk?

Sub Add_Oval_in_ActiveCell()
t = ActiveCell.Top
l = ActiveCell.Left
h = ActiveCell.Height
w = ActiveCell.Width
    ActiveSheet.Shapes.AddShape(msoShapeOval, l, t, w, h).Select
    Selection.ShapeRange.Fill.Visible = msoFalse
    With Selection.ShapeRange.Line
    .Visible = msoTrue
    .ForeColor.RGB = RGB(0, 0, 0)
    .Transparency = 0
    End With
    With Selection.ShapeRange.Line
    .Visible = msoTrue
    .Weight = 2.25
    End With
End Sub

xl.activeSheet.Shapes.AddShapeOval(9, 10, 10, 10, 10).Select

- не работает

2

Re: AHK: Com_Excel_Snapes

А откуда вы взяли метод AddShapeOval?
https://docs.microsoft.com/en-us/office … s.AddShape

3

Re: AHK: Com_Excel_Snapes

Malcev

Спасибо))Еще бы сделать фигуру прозрачной и с нужным цветом контура, еще и в заданной ячейки)

4 (изменено: Malcev, 2018-08-24 13:30:00)

Re: AHK: Com_Excel_Snapes

Так а в чём проблема?
У вас же есть vba код.
Константы тут:
https://docs.microsoft.com/en-us/office … sotristate
Это:

With Selection.ShapeRange.Line
    .Visible = msoTrue

равнозначно:

Selection.ShapeRange.Line.Visible := -1

5

Re: AHK: Com_Excel_Snapes

Malcev
Спасибо!


t = 10
l = 10
h = 10
w = 10
xl.worksheets(1).Shapes.AddShape(9, t, l, h ,w).Select
xl.Selection.ShapeRange.Fill.Visible := 0
xl.Selection.ShapeRange.Line.Visible := -1
xl.Selection.ShapeRange.Line.weight :=2
xl.Selection.ShapeRange.Line.ForeColor.RGB := 0

Фигуру сделал нужную, вставить её в заданную ячейку не получается!

6 (изменено: Malcev, 2018-08-24 16:04:38)

Re: AHK: Com_Excel_Snapes

Выберите ячейку - Select. (Не проверял, эксела не стоит).

7

Re: AHK: Com_Excel_Snapes

Malcev

Пробовал, не получается.

Вот это не могу настроить   


t = ActiveCell.Top
l = ActiveCell.Left
h = ActiveCell.Height
w = ActiveCell.Width
ActiveSheet.Shapes.AddShape(msoShapeOval, l, t, w, h).Select

8

Re: AHK: Com_Excel_Snapes

MyCell := xl.worksheets(1).cells(2,2)
t := MyCell.top 
l := MyCell.left
h := MyCell.Height
w := MyCell.Width
xl.worksheets(1).Shapes.AddShape(9, t, l, h, w).Select
xl.Selection.ShapeRange.Fill.Visible := 0
xl.Selection.ShapeRange.Line.Visible := -1
xl.Selection.ShapeRange.Line.weight :=2
xl.Selection.ShapeRange.Line.ForeColor.RGB := 0

какая то хрень получается!

9

Re: AHK: Com_Excel_Snapes

xl.worksheets(1).Shapes.AddShape(9, l, t, w, h).Select

а не t, l, h, w!