-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathEXCEL_CHART_SHAPE_LIBR.bas
executable file
·165 lines (134 loc) · 5.4 KB
/
EXCEL_CHART_SHAPE_LIBR.bas
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
Attribute VB_Name = "EXCEL_CHART_SHAPE_LIBR"
'--------------------------------------------------------------------------------------------------------
'--------------------------------------------------------------------------------------------------------
Option Explicit 'Requires that all variables to be declared explicitly.
Option Base 1 'The "Option Base" statement allows to specify 0 or 1 as the
'default first index of arrays.
'--------------------------------------------------------------------------------------------------------
'--------------------------------------------------------------------------------------------------------
'************************************************************************************
'************************************************************************************
'FUNCTION :
'DESCRIPTION :
'LIBRARY : EXCEL_CHART
'GROUP :
'ID : 001
'AUTHOR : RAFAEL NICOLAS FERMIN COTA
'************************************************************************************
'************************************************************************************
Function EXCEL_CHART_SHAPE_LOOK_FUNC(ByVal SHAPE_NAME_STR As Variant, _
Optional ByVal OUTPUT As Integer = 0, _
Optional ByRef SRC_WSHEET As Excel.Worksheet)
Dim i As Long
Dim SHAPE_OBJ As Excel.Shapes
Dim MATCH_FLAG As Boolean
On Error GoTo ERROR_LABEL
If SRC_WSHEET Is Nothing Then: Set SRC_WSHEET = ActiveSheet
MATCH_FLAG = False
i = 0
For Each SHAPE_OBJ In SRC_WSHEET.Shapes
i = i + 1
If SHAPE_OBJ.name = SHAPE_NAME_STR Then
MATCH_FLAG = True
Exit For
End If
Next SHAPE_OBJ
If MATCH_FLAG = True Then
Select Case OUTPUT
Case 0
EXCEL_CHART_SHAPE_LOOK_FUNC = True
Case Else
EXCEL_CHART_SHAPE_LOOK_FUNC = i
End Select
Else
EXCEL_CHART_SHAPE_LOOK_FUNC = False
End If
Exit Function
ERROR_LABEL:
EXCEL_CHART_SHAPE_LOOK_FUNC = Err.number
End Function
'************************************************************************************
'************************************************************************************
'FUNCTION :
'DESCRIPTION :
'LIBRARY : EXCEL_CHART
'GROUP :
'ID : 002
'AUTHOR : RAFAEL NICOLAS FERMIN COTA
'************************************************************************************
'************************************************************************************
Function EXCEL_CHART_SHAPE_SCALE_FUNC(ByVal CHART_NAME_STR As Variant, _
Optional ByVal WIDTH_VAL As Variant = Null, _
Optional ByVal HEIGHT_VAL As Variant = Null, _
Optional ByVal VERSION As Integer = 0, _
Optional ByRef SRC_WSHEET As Excel.Worksheet)
Dim SHAPE_OBJ As Object
On Error GoTo ERROR_LABEL
EXCEL_CHART_SHAPE_SCALE_FUNC = False
If (VarType(WIDTH_VAL) = vbNull) And (VarType(HEIGHT_VAL) = vbNull) Then: GoTo ERROR_LABEL
If SRC_WSHEET Is Nothing Then: Set SRC_WSHEET = ActiveSheet
If EXCEL_CHART_LOOK_FUNC(CHART_NAME_STR, 0, SRC_WSHEET) = True Then
Set SHAPE_OBJ = SRC_WSHEET.Shapes(CHART_NAME_STR)
Else
GoTo ERROR_LABEL
End If
Select Case VERSION
Case 0
SHAPE_OBJ.ScaleWidth WIDTH_VAL, msoFalse, msoScaleFromTopLeft
Case Else
SHAPE_OBJ.ScaleHeight HEIGHT_VAL, msoFalse, msoScaleFromBottomRight
End Select
EXCEL_CHART_SHAPE_SCALE_FUNC = True
Exit Function
ERROR_LABEL:
EXCEL_CHART_SHAPE_SCALE_FUNC = False
End Function
'************************************************************************************
'************************************************************************************
'FUNCTION : EXCEL_CHART_SHAPE_HIDE_FUNC
'DESCRIPTION :
'LIBRARY :
'GROUP :
'ID : 003
'AUTHOR : RAFAEL NICOLAS FERMIN COTA
'************************************************************************************
'************************************************************************************
Function EXCEL_CHART_SHAPE_HIDE_FUNC(ByVal SHAPE_NAME_STR As Variant, _
ByVal HROW_VAL As Double, _
ByVal HCOLUMN_VAL As Double, _
ByVal SROW_VAL As Double, _
ByVal SCOLUMN_VAL As Double, _
Optional ByVal VERSION As Integer = 0, _
Optional ByRef SRC_WSHEET As Excel.Worksheet)
Dim SHAPE_OBJ As Object
On Error GoTo ERROR_LABEL
EXCEL_CHART_SHAPE_HIDE_FUNC = False
If SRC_WSHEET Is Nothing Then: Set SRC_WSHEET = ActiveSheet
If EXCEL_CHART_SHAPE_LOOK_FUNC(SHAPE_NAME_STR, 0, SRC_WSHEET) = True Then
Set SHAPE_OBJ = SRC_WSHEET.Shapes(SHAPE_NAME_STR)
Else
GoTo ERROR_LABEL
End If
Select Case VERSION
'---------------------------------------------------------------------------------
Case 0
'---------------------------------------------------------------------------------
SHAPE_OBJ.IncrementLeft SCOLUMN_VAL
SHAPE_OBJ.IncrementTop SROW_VAL
SHAPE_OBJ.Characters.Text = "SHOW GRAPH"
'---------------------------------------------------------------------------------
Case Else
'---------------------------------------------------------------------------------
SHAPE_OBJ.IncrementLeft HCOLUMN_VAL
SHAPE_OBJ.IncrementTop HROW_VAL
SHAPE_OBJ.Characters.Text = "HIDE GRAPH"
' SHAPE_OBJ.Select
' Selection.Characters.Text = "HIDE GRAPH"
'---------------------------------------------------------------------------------
End Select
'---------------------------------------------------------------------------------
EXCEL_CHART_SHAPE_HIDE_FUNC = True
Exit Function
ERROR_LABEL:
EXCEL_CHART_SHAPE_HIDE_FUNC = False
End Function