on 11-03-2005 3:54 PM
Hi,
I have a customer usind Bex Analyzer (Excel) for reporting.
Does anyone know or maybe someone had to do it already if there is a <b>possbility to "grey out" buttons on the Bex Analyzer Toolbar in Excel (e.g. the "tools" button or the "settings" button)?</b>
I would appreciate any information on that very much.
Thanks for your help
Christian
Hi
I don't know of a way to do that.
In our sys we use the Auth to block users from changing Query's and Workbooks.
This is the main concern, I dont see a concern in some of the other option available viw Setting and Tools.
Reg's
Edan
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
I suggest you a very simple VBA code, to add to your workbook :
Private Sub WorkBook_Open()
Application.CommandBars("Business Explorer").Active = False
End Sub
This will desactivate the toolbar.
But... in my opinion, it's more secure to hide an object.
Regards,
Dieu
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Christian,
As per your requirement, for your Customer , you or your Basis guy need to creat role for your Customer, in that you / Basis guy can assign the authorization for paricular reports/modeling/ query design etc , Your Customer can't change / delete the your reports. by using Trasanction Code PFCG.
Go to T Code PFCG , in that give me your Customer Role name (As per your naming client Conventions)--> create --> in that Tab Authorizations > Maintian Authorizations data and generate profiles double click on Display the authorization Data in that you can select BIW you can choose the activity as display and save and Generate. and next go to next Tab Role --> in that give me your Customer user id and name from date to date and save.
Now after creation of your query assign in to particular role of yourCustomer. so your customer cannot change / delete etc . it will shows as Gray Color, your Customer cannot Change your query design etc.. then this query can save it as workbook and assign in to your customer role. in the same way your customer cannot change / delete etc. Your customer only diplay the workbook.
I hope it may usefull Christian
Thanks
Bhima
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Christian,
"Greying out" might be difficult. Invisible is easy. Inactive is also easy.
To make a command bar control inactive:
Sub test1()
Dim c As CommandBar, b As CommandBarControl
Set c = CommandBars("Business Explorer")
Set b = c.Controls(1)
b.OnAction = "test1"
MsgBox "This control is inactive"
End Sub
To make a command bar control invisible:
Sub test2()
Dim c As CommandBar, b As CommandBarControl
Set c = CommandBars("Business Explorer")
Set b = c.Controls(1)
b.Visible = False
End Sub
To change appearance of a control, you change its faceID.
Sub test3()
Dim c As CommandBar, b As CommandBarControl
Set c = CommandBars("Business Explorer")
Set b = c.Controls(1)
b.FaceId = 330
b.OnAction = "test3"
MsgBox "This control is inactive"
End Sub
- Pete
Hi Pete,
Thanks a lot. I guess that's what I am looking for. I am not a VBA expert, so can you tell me:
What is the menu path I have to use to put in that type of coding you provided me with to make Bex Analyzer command bars "invisible" or "inactive" and it appears like for every workbook I execute.
I only know the menu path in Excel when I execute a BW workbook and want to use VBA coding in that workbook which is: Tools-Macros-Visual Basic Editor.
Hi Christian,
If you want this function to run when a workbook opens, you would put the code in the code window of "ThisWorkbook".
Tools >> Macros >> Visual Basic Editor is a good start.
If the Project Explorer window is not visible, then use View >> Project Explorer (or Ctrl+R) to make it visible.
Locate your workbook in the Project Explorer window. It will be named something like VBAProject(xxxxx) where xxxx = your workbook name. If the workbook was opened from the BW server, the name in parentheses might be something like xSAPtemp1234.xls.
If you see a "+" to the left of the VBAProject name, then click to expand it. You should now see at least two folders under the VBAProject name:
+ Microsoft Excel Objects
+ Modules.
Expand the Excel Objects. Under the Microsoft Excel Objects heading, you will see icons representing each of the worksheets in your workbook, and an icon that is named ThisWorkbook. That is where you would want to put the code if you want it to run every time that the workbook is opened.
Select the ThisWorkbook icon, right-click, select View Code. The code window should open on the right side of your screen.
As an example, to execute the "test3" subroutine when the workbook opens, you would use the code below:
Private Sub Workbook_Open()
Call test3
End Sub
The code for test3 subroutine would be added to either a new (Insert >> Module) or existing Module.
- Pete
User | Count |
---|---|
88 | |
10 | |
10 | |
9 | |
6 | |
6 | |
6 | |
5 | |
4 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.