Word VBA Macro Version Registered is Incorrect
I am running RoboHelp 10. Windows 8. When I try to generate Printed Documentation, this message appears "Please re-install Printed Documentation." I've searched the previous postings. While my post is related to the problem; it is not related to the solution. Any suggestions for fix would be appreciated.
Hi Peter,
I edited the email, saved it as draft and couldn't send. This is why I had
to make a new thread. Here are my responses to your questions:
Anet
The email from your original post had a line about working for Beth but when
I came to the forum via the web you had edited it out. I removed this
because it had nothing to do with the issue and thought the mention leaned
on the side of name dropping.
I think this problem is Windows 8 related so the first thing is can you work
on a Windows 7 machine and do you get the same issue there? My desktop runs
Windows Vista. I installed RH10 on that machine and was able to generate the
Printed Documentation without issue. The version of Word is 7.
I want to confirm the setup here. You mention links between projects not
working so it sounds like this is a merged help scenario. Correct? Is the
reason for creating new projects part of resolving the broken links problem?
I'm wondering if maybe I should speak to Beth who I know? I will wait until
I hear from you on that. The project I am working on will eventually be in a
merged WebHelp scenario. And yes.the reason for creating NEW projects is due
to resolving the broken link issue. Some of us project contractors had to
'rename' the project. Beth found that when we do this, RH does not rename
everything. Therefore, when linking, the path for the link does not
represent the actual name of file folders, etc. (I hope that makes sense). I
can forward you Beth's communication (different email acct) to me about
creating new projects for future linking. If you want this, please let me
know where to send.
Thanks.
Anet Gambina
ShredConnect_small_transparent email
www.shredconnect.com
(949) 472-0022
Call
Send SMS
Add to Skype
You'll need Skype CreditFree via Skype
Similar Messages
-
Getting an Error: The Word VBA Macro Version is incorrect.
Gettin an error for trying create a pdf. Attached is the screenshot.
Any suggestions? Running, Word 2007 and have Acrobat Pro 9 installed as well. RoboHelp 8.0.
Thank you.
JCTry this.
http://blogs.adobe.com/samartha/2010/04/printed_documentation_error.html
See www.grainge.org for RoboHelp and Authoring tips
@petergrainge -
Word VBA Macro problem with adding rows to table for BAPI call
Hello all,
I have code in Word macro which is reading file from the disk and converting it to binary. This binary should be inserted in the internal table (Dim As object) for further posting. Code is modified from the note 945682.
Here is the code:
Sub Read_File(FileNameFull As String)
Dim oBinaryDataTab As Object
Dim oBinaryDataRow As Object
Dim lBytesToRead As Long
Dim iNumChars, i As Integer
Dim s1022, s2044, sX As String
Dim fs, f, ts As Object
Dim ReadFile As String
' Actually does the work of uploading the document in 1022 byte pieces.
ReadFile = 0
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFile(FileNameFull)
Set ts = f.OpenAsTextStream(1, -2)
lBytesToRead = f.Size
ReadFile = f.Size
Do While ts.AtEndOfStream <> True
If lBytesToRead < 1022 Then
iNumChars = lBytesToRead
Else
iNumChars = 1022
End If
s1022 = ts.Read(iNumChars)
s2044 = ""
For i = 1 To Len(s1022)
sX = Hex$(CByte(Asc(Mid(s1022, i, 1))))
If Len(sX) = 1 Then
sX = "0" + sX
End If
s2044 = s2044 + sX
Next i
Set oBinaryDataRow = oBinaryDataTab.Rows.Add
oBinaryDataRow("LINE") = s2044
lBytesToRead = lBytesToRead - iNumChars
Loop
End Sub
But on the row "Set oBinaryDataRow = oBinaryDataTab.Rows.Add" code just stopped to work.
Can somebody give me a hint how to proceed?
I also tried to Dim oBinaryDataTable As Table and oBinaryDataRow as Row with the same result.
oBinaryDataTable will be used as to post file to SAP system without GUI FTP connection. Because of that it must be converted to binary form.
TIA
Gordan
P.S. Message to Moderator: Please, be so kind, and put the message in the proper forum if this is not this one.Self Resloved
-
I am mac user and want to create Object in VBA macro. when i write "set objwrd=createObject("Word.Application")"… it returns "runtime error "492" can't create object". now what it alternative to create object for word in excel macro???
Any help here...
http://support.microsoft.com/kb/288117
http://www.macworld.com/article/1154785/welcomebackvisualbasic.html -
Hi Everyone!
We are using RoboHelp 7 (WebHelp) and MS Word 2007 on 3
machines. When selecting Printed Documentation and then selecting a
MS Word Template in the Printed Documentation Dialogue box, two of
the machines are able to print the documentation but an error
appears on the third machine. The error reads:
Waiting for VBA macros to be registered.
The applications were all installed in the correct order
according to the steps followed in another section on this site.
Anyone have any idea why this machine is receiving the error and
the other two are not/
Thanks.
BillMy guess is you need to change their macro security levels in
Word. -
VBA Macros Running Before BPC Routine is Done
Hello, All -
Working on converting our BPC 7.5 templates to version 10 and I'm having an issue with our custom VBA macro codes.
In our 7.5 system, all our input templates call custom VBA macro routines when certain SAP functions are done executing (i.e.: once a Refresh is done, execute this macro code). In 7.5, we have macro codes within the BEFORE_REFRESH, AFTER_REFRESH, BEFORE_EXPAND, and AFTER_EXPAND routines (note: our templates utilize the EvDRE function) and our custom macro codes would not run until the SAP function was done processing, which worked out perfectly however, it appears that something has changed in version 10 as all our macro codes are executing even though the SAP system is still processing in the background. I confirmed this behavior by placing a macro stopper next to certain macro codes and noticed that VBA is already at that point of executing those codes yet in the background, I can still see the 'processing' box. In 7.5, the processing box is already gone before the custom macro code executed. Not sure why the macros are executing when SAP is not done fully processing yet.
Has anyone encountered this type of behavior where custom VBA code is running prematurely before SAP is done processing?
In addition, it appears that SAP is no longer utilizing the Excel Status bar when certain processes are being executed. In 7.5, when a Refresh command was executed (for example), the status bar at the bottom of Excel would be updating (ready...retrieving data...calculating...formatting, etc...), which allowed us to check the Status bar for the word 'COMPLETED' as this was our indicator that SAP was done processing. In version 10, it appears that SAP has done away with the use of the Status bar because I am no longer seeing any kind of message flowing through down there when certain SAP functions are running. Correction: the only messages I see are 'Ready' and a brief moment of 'Calculate'. Because nothing is appearing on the status bar, our custom macro codes are not working in the new version.
Does anyone know if this feature no longer available in version 10?
Other Information:
+ Office 2010
+ BPC v10 on Microsoft platform
+ EPM Server version: 10.0 SP16
+ EPM Add-in version: 10.0 SP21 .NET 3.5; Build: 9094
Thanks,
CarloADDENDUM:
7 hours later.... to log in was "random", replies mostly not possible, two different error massages, the nice "looking for" and a generic "too many server access try later" (<<in German, my humble translation)
there IS a lot of working going on, only explination...
hope, we read some "Announcement"...
it's late here, byebye, nitynite... -
Need Help Converting a VBA Macro to AppleScript 2.1.2 for Outlook 2011
Hello AppleScript Experts:
Can somebody help me convert the below VBA Macro to an equivalent AppleScript 2.1.2 for Mac Outlook 2011 (Version 14.1.3)
I have a VBA macro program that pops message box when somebody sends an email to an external email address outside of the business domain name. I have deployed the below on WINDOWS 7 MS OFFICE OUTLOOK 2007/2010 and it's
working successfully.
I have few users using MAC Outlook 2011 v.14.0.1 & 14.1.3. I need to deploy the same application for MAC users.
Here is the program...
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
Dim objRecipient As Outlook.Recipient
Dim strExternalEmailAddress As String
Dim strInternalEmailAddress As String
Dim oRecip As Outlook.Recipient
Dim oEU As Outlook.ExchangeUser
Dim oEDL As Outlook.ExchangeDistributionList
Set objRecipients = Item.Recipients
strTemp = ""
For Each objRecipient In objRecipients
Set oRecip = Application.Session.CreateRecipient(objRecipient.Address)
If InStr(1, oRecip, "@") > 0 And InStr(1, oRecip, "company.org") = 0 Then
strExternalEmailAddress = strExternalEmailAddress & objRecipient.AddressEntry & " - " & objRecipient.Address & "; "
strExternalEmailAddress = strExternalEmailAddress & vbCrLf
Else
oRecip.Resolve
If oRecip.Resolved Then
Select Case oRecip.AddressEntry.AddressEntryUserType
Case OlAddressEntryUserType.olExchangeUserAddressEntry
Set oEU = oRecip.AddressEntry.GetExchangeUser
If Not (oEU Is Nothing) Then
End If
Case OlAddressEntryUserType.olExchangeDistributionListAddressEntry
Set oEDL = oRecip.AddressEntry.GetExchangeDistributionList
If Not (oEDL Is Nothing) Then
End If
Case Else
If (objRecipient.Type = 1) And InStr(1, oRecip, "company.org") = 0 Then
strExternalEmailAddress = strExternalEmailAddress & objRecipient.AddressEntry & " - " & oRecip & "; "
strExternalEmailAddress = strExternalEmailAddress & vbCrLf
ElseIf (objRecipient.Type = 1) And InStr(1, oRecip, "company.org") <> 0 Then
strInternalEmailAddress = strInternalEmailAddress & objRecipient.AddressEntry & " - " & oRecip & "; "
strInternalEmailAddress = strInternalEmailAddress & vbCrLf
ElseIf (objRecipient.Type = 2) And InStr(1, oRecip, "company.org") = 0 Then
strExternalEmailAddress = strExternalEmailAddress & objRecipient.AddressEntry & " - " & oRecip & "; "
strExternalEmailAddress = strExternalEmailAddress & vbCrLf
ElseIf (objRecipient.Type = 2) And InStr(1, oRecip, "company.org") <> 0 Then
strInternalEmailAddress = strInternalEmailAddress & objRecipient.AddressEntry & " - " & oRecip & "; "
strInternalEmailAddress = strInternalEmailAddress & vbCrLf
End If
End Select
Else
If InStr(1, oRecip, "@") > 0 And InStr(1, oRecip, "company.org") = 0 Then
strExternalEmailAddress = strExternalEmailAddress & objRecipient.AddressEntry & " - " & objRecipient.Address & "; "
strExternalEmailAddress = strExternalEmailAddress & vbCrLf
ElseIf InStr(1, oRecip, "@") > 0 And InStr(1, oRecip, "company.org") <> 0 Then
strInternalEmailAddress = strInternalEmailAddress & objRecipient.AddressEntry & " - " & objRecipient.Address & "; "
strInternalEmailAddress = strInternalEmailAddress & vbCrLf
End If
End If
End If
Next
If Len(strExternalEmailAddress) > 0 Then
If MsgBox("You are about to send this email message to one or more individuals outside of COMPANY. Before you send the message," & _
" please review the list below and confirm that you have addressed the message to the intended recipients." & vbCrLf & strExternalEmailAddress & vbCrLf & _ "Please click 'Yes' to send the message or 'No' to make changes to the recipients.", vbYesNo + vbDefaultButton2) = vbNo Then
Cancel = True
End If
End If
End SubHello AppleScript Experts:
Can somebody help me convert the below VBA Macro to an equivalent AppleScript 2.1.2 for Mac Outlook 2011 (Version 14.1.3)
I have a VBA macro program that pops message box when somebody sends an email to an external email address outside of the business domain name. I have deployed the below on WINDOWS 7 MS OFFICE OUTLOOK 2007/2010 and it's
working successfully.
I have few users using MAC Outlook 2011 v.14.0.1 & 14.1.3. I need to deploy the same application for MAC users.
Here is the program...
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
Dim objRecipient As Outlook.Recipient
Dim strExternalEmailAddress As String
Dim strInternalEmailAddress As String
Dim oRecip As Outlook.Recipient
Dim oEU As Outlook.ExchangeUser
Dim oEDL As Outlook.ExchangeDistributionList
Set objRecipients = Item.Recipients
strTemp = ""
For Each objRecipient In objRecipients
Set oRecip = Application.Session.CreateRecipient(objRecipient.Address)
If InStr(1, oRecip, "@") > 0 And InStr(1, oRecip, "company.org") = 0 Then
strExternalEmailAddress = strExternalEmailAddress & objRecipient.AddressEntry & " - " & objRecipient.Address & "; "
strExternalEmailAddress = strExternalEmailAddress & vbCrLf
Else
oRecip.Resolve
If oRecip.Resolved Then
Select Case oRecip.AddressEntry.AddressEntryUserType
Case OlAddressEntryUserType.olExchangeUserAddressEntry
Set oEU = oRecip.AddressEntry.GetExchangeUser
If Not (oEU Is Nothing) Then
End If
Case OlAddressEntryUserType.olExchangeDistributionListAddressEntry
Set oEDL = oRecip.AddressEntry.GetExchangeDistributionList
If Not (oEDL Is Nothing) Then
End If
Case Else
If (objRecipient.Type = 1) And InStr(1, oRecip, "company.org") = 0 Then
strExternalEmailAddress = strExternalEmailAddress & objRecipient.AddressEntry & " - " & oRecip & "; "
strExternalEmailAddress = strExternalEmailAddress & vbCrLf
ElseIf (objRecipient.Type = 1) And InStr(1, oRecip, "company.org") <> 0 Then
strInternalEmailAddress = strInternalEmailAddress & objRecipient.AddressEntry & " - " & oRecip & "; "
strInternalEmailAddress = strInternalEmailAddress & vbCrLf
ElseIf (objRecipient.Type = 2) And InStr(1, oRecip, "company.org") = 0 Then
strExternalEmailAddress = strExternalEmailAddress & objRecipient.AddressEntry & " - " & oRecip & "; "
strExternalEmailAddress = strExternalEmailAddress & vbCrLf
ElseIf (objRecipient.Type = 2) And InStr(1, oRecip, "company.org") <> 0 Then
strInternalEmailAddress = strInternalEmailAddress & objRecipient.AddressEntry & " - " & oRecip & "; "
strInternalEmailAddress = strInternalEmailAddress & vbCrLf
End If
End Select
Else
If InStr(1, oRecip, "@") > 0 And InStr(1, oRecip, "company.org") = 0 Then
strExternalEmailAddress = strExternalEmailAddress & objRecipient.AddressEntry & " - " & objRecipient.Address & "; "
strExternalEmailAddress = strExternalEmailAddress & vbCrLf
ElseIf InStr(1, oRecip, "@") > 0 And InStr(1, oRecip, "company.org") <> 0 Then
strInternalEmailAddress = strInternalEmailAddress & objRecipient.AddressEntry & " - " & objRecipient.Address & "; "
strInternalEmailAddress = strInternalEmailAddress & vbCrLf
End If
End If
End If
Next
If Len(strExternalEmailAddress) > 0 Then
If MsgBox("You are about to send this email message to one or more individuals outside of COMPANY. Before you send the message," & _
" please review the list below and confirm that you have addressed the message to the intended recipients." & vbCrLf & strExternalEmailAddress & vbCrLf & _ "Please click 'Yes' to send the message or 'No' to make changes to the recipients.", vbYesNo + vbDefaultButton2) = vbNo Then
Cancel = True
End If
End If
End Sub -
Schedule a VBA macro based DeskI Report.
Hi,
We have a requirement to schedule a VBA macro based report via CMC and Infoview and I would like to acheive the below. Please help.
1) To save the report output as CSV file after refresh in Xi R2 and I have the following code, which runs fine if I run manually, but if I schedule it in Xi R2, it does not run.Please help.
Private Sub Document_AfterRefresh()
Dim boDP As busobj.DataProvider
Set boDP = ThisDocument.DataProviders.Item(1)
OUTPUT_FILE_CSV = TARGET_FILE_DIR & OUTPUT_FILE_NAME & Format(Now, "YYYYMMDD") & "_" & Format(Now, "hhnnss") & ".csv"
Call boDP.ConvertTo(5, 1, OUTPUT_FILE_CSV)
End Sub
The OUTPUT_FILE_CSV & TARGET_FILE_DIR are declared as global varilable. Please help.
2) A prompt to be filled and the following syntax works fine when I run the macro manually. But does not work when I schedule in CMC (Variable prevented report to refersh error)..
Private Sub Document_BeforeRefresh(Cancel As Boolean)
newfromdate = DateAdd("M", -4, DateValue(Now))
Application.Variables.Item("BOL Date").InterpretAs = boStringVariable
Application.Variables.Item("BOL Date").Value = newfromdate
End Sub
Please advice.
Thank You.Hi Sundaresan,
Following are the important points related to scheduling deski report containing VBA macro:
1. BusinessObjects XI Release 2 supports macros in
Desktop Intelligence in InfoView, both when viewing or
scheduling the document, but with caveats.
2. There are slight differences in the execution flow when
viewing a Deski in InfoView as opposed to viewing on
the Desktop Intelligence client.
3. A restriction on scheduling documents is that the
scheduler can only open one document at a time u2013 so
if you have macros that try and access another Deski
document, it will fail.
4. Whether a macro executes successfully or not would
depend on the functionality used in the macro.
May i know which service pack you are using,as this is known issue and it works fine with BOXI R2 SP2 and higher versions.
I hope this helps you.
Regards,
Snehal -
Hello,
with a VBA macro I want to simulate the launch of an EVHOT with the current view paramtere's passage .
Is it possible?
What is the function name to use?
Thanks,
FabiolaYou can try to open the documents with a password that is guaranteed to be wrong, i.e. a password that isn't used for any of the documents. If the document has no password, Word will open it without complaining - it only checks the password if the document
is password-protected. If the document does have a password, error 5408 will occur, and you can trap this error with an error handler. For example, with a variable doc of type Document and a variable strPath of type String that contains the full path of a
document:
On Error Resume Next
Set doc = Documents.Open(FileName:=strPath, PasswordDocument:="!@#$%")
If Err = 0 Then ' no error occurred
' Process the document
' And close it
doc.Close SaveChanges:=True ' or False
End If
Regards, Hans Vogelaar (http://www.eileenslounge.com) -
Powershell Variable from Excel.VBA Macro
Hi Guys!
I don't know if what i'm asking you is achievable.
I've learned how to pass variables/arguments from powershell to Excel/VBA Macro but i need to do the opposite thing.
This is an example of what i want:
Powershell
Excel/VBA Macro
$Input=1 ----------------------------------------------------------------> Sub Macro(input)
$excel.Run("Macro",$Input)
Output=input +6
$output (Expected 7) <---------------------------------------------------- return Output
I don't know how to do this can you help me please?
AOk guys those are the script.
Macro:
Sub CreatePWD()
Dim PWD As String
Dim i As Integer
Dim Max As Integer
Dim F1 As Worksheet
Set F1 = ThisWorkbook.Worksheets("Foglio1")
Max = F1.Range("A1").Value
For i = 1 To Max
If Int((2 * Rnd) + 1) = 1 Then
PWD = PWD & Chr(Int((90 - 65 + 1) * Rnd + 65))
Else
PWD = PWD & Int((9 - 0 + 1) * Rnd + 0)
End If
Next i
MsgBox PWD
End Sub
Powershell:
$Excel = New-Object -ComObject excel.application
$Excel.visible=$false
$Version = "C:\Users\Alberto Corona\Desktop\Cartel1.xlsm"
$WorkBook= $Excel.workbooks.open($Version)
$WorkSheet= $WorkBook.worksheets.item(1)
$WorkSheet.cells.item(1,1)=5
$Excel.Run("CreatePWD")
$WorkBook.save()
$WorkBook.close()
$Excel.quit()
The result of macro is like "52UT7" i want a variable in powershell called $PWD that contain the value of the macro.
Hope the problem is clear now.
Thanks
A -
Runtime Error '109' - Business Object 6.5 - VBA macro
I am getting the same Runtime error '109' when trying to run my old reports(6.5) which have VBA Macros with the new XI 3.1 DeskI. Here's what I did:
1) Installed BO XI 3.1 client Tools on a machine which has BO 6.5 client tools
2) Opened the .rep in the XI 3.1 DeskI. CLick OK when it warns you that it is a earlier version and If you want to convert to new version.
Then when i try to run the report i get this error. The same .rep runs just fine with 6.5 Full Client.
Any Ideas guys? Am I missing any references or something ?
Thanks
Edited by: Larry Sherman on Aug 14, 2009 8:28 PMLarry, I have seen some instances of VBA code not running in the new Deski version, possibly some calls are different. You will want to open an SAP incident for eng. to take a look at the VBA code.
-
Essbase Smartview VBA macros error
I have a Essbase Smartview VBA macros issue as below:
I want get a value that I choose in POV dynamic dropdown list.
And show the value in the excel.
For example:
There customer dimention -childs are IBM、ACR show in POV dynamic dropdown list.
I choose IBM in POV then in excel sheet A1 show IBM.
I try the below vba code:
Private Sub CommandButton2_Click()
Dim vtGrid As Variant
Dim vtDimNames As Variant
Dim vtPOVNames As Variant
X = HypRetrieve("Sheet1")
If X = 0 Then
MsgBox ("Retrieve successful.")
Else
MsgBox ("Retrieve failed.")
End If
Range("F1").Select
Sts = HypGetSourceGrid("Sheet1", vtGrid)
Y = HypGetPOVItems(vtDimNames, vtPOVNames)
Range("h1").Value = Y
End Sub
'==========================================
But Y result is -3.
How did I get the value in dynamic dropdown list.
Thanks~Few comments:
1. Range("F1").Select: Is F1 inside the grid you are rerieving? If you do a fresh retrieve Range("B2").Select is a better location and you will not get -3.
2. Range("h1").Value = Y. You are setting the error message and not the POV member name. vtPOVNames is an array of POV members and you should use Range("h1").Value =vtPOVNames(1) to get the member name. (1) being the first dimension in the POV.
3. Word of caution. You will not be able to put a valid member name in the grid if it already exists in the POV. I recommend you preface the member name by any string that will make it unique. For instance, you could use
Range("h1").Value = vtDimNames(1) & ": " &vtPOVNames(1)
This way you will see the DimensionName: Member Name.
Here is the modified code:
Sub test()
Dim vtGrid As Variant
Dim vtDimNames As Variant
Dim vtPOVNames As Variant
X = HypRetrieve("Sheet1")
If X = 0 Then
MsgBox ("Retrieve successful.")
Else
MsgBox ("Retrieve failed.")
End If
Range("b2").Select
sts = HypGetSourceGrid("Sheet1", vtGrid)
Y = HypGetPOVItems(vtDimNames, vtPOVNames)
Range("h1").Value = vtDimNames(1) & ": " & vtPOVNames(1)
End Sub
Edited by: Toufic Wakim on May 3, 2010 11:54 AM -
Starting Edata From a VBA Macro
I am using the
Application.Run "MNU_eDATA_SELECTPACKAGE", "GL_Data_Extract", "System Files/GL_Data_Extract.dtsx", "Company", "Data Management"
It works fine as long as you start edata first. Is there a way that I can start edata from a VBA macro. That way the user does not have to sign into BPC and hit edata before running the macro.
Please let me know if there is a VBA command that will do this?
Thanks
PhilAs I understand the issue you are trying to use MNU_eDATA_SELECTPACKAGE in a VBA macro.
As stated here and elsewhere -- that is not possible but I have a workaround that seems to work OK.
In our case we are trying to use a Button to both send the data and then kickoff a DataManager macro.
So the macro we assigned to the button is as follows:
Sub SendandStartPackage()
Application.Run ("MNU_eSUBMIT_REFSCHEDULE_BOOK_CLEARANDREFRESH")
Range("J61").Select
End Sub
Then in cell J61 we put the EVMNU as follows:
=EVMNU("MNU_eDATA_SELECTPACKAGE","run DM","Import MasterData,/CPMB/IMPORT_MASTER,Company,Data Management")
Now when we click the button, the first macro runs and then the cell J61 is selected which starts the second macro.
I have not tested this extensively but it worked when I tried it.
Note: This is NW version syntax. -
How Can I Schedule a Deski Report in Infoview that has a VBA Macro
Hi experts,
i've made a report that has a vba Macro. I published it in infoview. If I launch it manually (clicking on the refresh button) the macro works normaly. If I schedule it the macro doesn't work.
What can I do?
Is it possible to make a program that simulate the opening and click on the refresh button?
Or i there is another solution?
Here is my Macro:
Private Sub Document_AfterRefresh()
Dim filtervar As Variant
Dim filterText, Filter As Long
Dim DocName, NewName As String
Dim Pathing, TodaysDate As String
Dim folderName As String
TodaysDate = Format(Date, "DDMMYYYY")
Pathing = "
Ktsdwh0\c$\OutputBO\"
DocName = ThisDocument.Name
filterText = "Dpre Cod Produttore"
filtervar = ThisDocument.Evaluate("=<" & filterText & ">", boUniqueValues)
For Each sepval In filtervar
Filter = sepval
For n = 1 To ThisDocument.Reports.Count
Call ThisDocument.Reports(n).AddComplexFilter(filterText, "=<" & filterText & "> = " & Filter)
ThisDocument.Reports(n).ForceCompute
Next n
MkDir (Pathing & Filter & "\")
NewName = Pathing & Filter & "\" & Filter & "-" & TodaysDate & "-" & DocName 'for Prova_Prod.rep
' NewName = Pathing & Filter & "-" & TodaysDate & "-" & DocName 'for Prova_Prod.rep
ThisDocument.ExportAsPDF (NewName) 'to Save as PDF
Next
For n = 1 To ThisDocument.Reports.Count
Call ActiveReport.AddComplexFilter(filterText, "=<" & filterText & "> = <" & filterText & ">")
' To delete a Complex Filter, you set it equal to itself...
ActiveReport.ForceCompute
Next n
End Sub
Please Help!
Best regards
CamilloHi Philippe,
If you are using Windows 2003 with SP2 then it might be the issue as already logged for BOXIR2.
You can test the issue by using only Windows 2003 without SP2.
In case your operating system is only windows 2003 then following information and code might be helpful for you to resolve the issue.
There are a number of things to check when setting up a macro to work through Infoview or scheduled. The first thing is that the macro needs to be triggered to run. This is done by putting a call to the macro in the Document_BeforeRefresh or the Document_AfterRefresh event handler.
The report server and job server are designed to process one report at a time. Through a macro it is possible to open more than one report, and do various processing with those additional reports. Since the report and job servers are not designed to process more than one report, your macro should not open an additional report.
The fact that only one report is processed at a time also affects the syntax you should use when referring to a document or report object. In the DeskI client you can use the ThisDocument object to refer to the report which is running the macro. You can also use the ActiveDocument object to refer to the report that is currently displayed. Most of the time these two objects will point to the same report. When the report server or job server process a report there would never be the possibility for a different report to be active, so the ActiveDocument object does not exist. This also applies to the ActiveReport object. Instead of using ActiveDocument your macro code should use the ThisDocument object. Instead of using the ActiveReport object you should use ThisDocument.Reports.Item(1) to refer to this first report tab in a report.
These items are the most common issues that will cause a macro not to run through Infoview or when scheduled. The best way to debug a macro which is not working in either of those places is to include code which will log the macro's progress to a file. This makes it easy to determine exactly which line of code is causing issues so that it can potentially be corrected.
#Region u201CWeb Form Designer Generated Code "
'This call is required by the Web Form Designer.
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
End Sub
Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
'CODEGEN: This method call is required by the Web Form Designer
'Do not modify it using the code editor.
InitializeComponent()
End Sub
#End Region
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim myInfoStore As InfoStore
Dim myEnterpriseSession As EnterpriseSession
myInfoStore = CType(Session("InfoStore"), InfoStore)
myEnterpriseSession = CType(Session("EnterpriseSession"), EnterpriseSession)
Dim DOCUMENT_NAME As String = "document_name"
Dim query As String = "Select SI_ID, SI_NAME, SI_SUBJECT, " _
& "SI_COMMENTS, SI_OWNER From CI_INFOOBJECTS Where SI_KIND = 'FullClient' " _
& "AND SI_INSTANCE=0 AND SI_NAME='" + DOCUMENT_NAME + "'"
Dim myInfoObjects As InfoObjects = myInfoStore.Query(query)
Dim myInfoObject As InfoObject = myInfoObjects(1)
Dim myDeskiDoc As FullClient = CType(myInfoObject, FullClient)
Dim mySchedulingInfo As SchedulingInfo = myDeskiDoc.SchedulingInfo
mySchedulingInfo.Type = CeScheduleType.ceScheduleTypeOnce
mySchedulingInfo.RightNow = True
Dim myFullClientFormatOptions As FullClientFormatOptions = myDeskiDoc.FullClientFormatOptions
myFullClientFormatOptions.Format = BusinessObjects.Enterprise.Desktop.CeFullClientFormat.ceFullClientFormatFullClient
myInfoStore.Schedule(myInfoObjects)
End Sub
End Class
I hope this will help you.
Regards,
Sarbhjeet Kaur -
Using ms project 2007 and vba macro to list all the custom fields used in the project?
Hi,Using ms project 2007 vba macro, I would like to be able to list all the custom fields used in the project and their corresponding field names. e.g. let us say I create a calculated duration field and name it "expected duration" and the name
of the field I select is Duration1.
I am trying to write a macro that will list all the used custom fields such as the result would look like:
Duration1 ---> "expected duration"
Text1 ---> "anything"
Flag1 ---> "....."
Number1 ---> "..............."
Can anyone provide me with the solution?
Regards,
ChuckJohn,
I found this module, which provides the the list of custom fields used in the project but does not provide the name given to the field. Here below is the module and hope you could help me achieve this by modifying the macro to list the renamed field.
' MSP Checks all Custom Task Fields
Sub checkfields2()
'This macro will check and report out which custom task fields are used
'It requires Project 2002 and above as it relies on the GetField
'and FieldNameToFieldConstant methods which were not introduced until
'2002.
'It does not include resource fields, however it is a simple matter to
'do it by replacing the pjTask constant with pjResource.
'Copyright Jack Dahlgren, Oct. 2004
Dim mycheck As Boolean
Dim myType, usedfields As String
Dim t As Task
Dim ts As Tasks
Dim i, it As Integer
Set ts = ActiveProject.Tasks
usedfields = "Custom Fields used in this file" & vbCrLf
myType = "Text"
usedfields = usedfields & vbCrLf & "--" & UCase(myType) & "--" & vbCrLf
For i = 1 To 30
mycheck = False
it = 0
While Not mycheck And (it < ts.Count)
it = it + 1
If Not ts(it) Is Nothing Then
If ts(it).GetField(FieldNameToFieldConstant(myType & i, pjtask)) <> "" Then
usedfields = usedfields & myType & CStr(i) & vbCr
mycheck = True
End If
End If
Wend
Next i
myType = "Number"
usedfields = usedfields & vbCrLf & "--" & UCase(myType) & "--" & vbCrLf
For i = 1 To 20
mycheck = False
it = 0
While Not mycheck And (it < ts.Count)
it = it + 1
If Not ts(it) Is Nothing Then
If ts(it).GetField(FieldNameToFieldConstant(myType & i, pjtask)) <> 0 Then
usedfields = usedfields & myType & CStr(i) & vbCr
mycheck = True
End If
End If
Wend
Next i
myType = "Duration"
usedfields = usedfields & vbCrLf & "--" & UCase(myType) & "--" & vbCrLf
For i = 1 To 10
mycheck = False
it = 0
While Not mycheck And (it < ts.Count)
it = it + 1
If Not ts(it) Is Nothing Then
If Left(ts(it).GetField(FieldNameToFieldConstant(myType & i, pjtask)), 2) <> "0 " Then
usedfields = usedfields & myType & CStr(i) & vbCr
mycheck = True
End If
End If
Wend
Next i
myType = "Cost"
usedfields = usedfields & vbCrLf & "--" & UCase(myType) & "--" & vbCrLf
For i = 1 To 10
mycheck = False
it = 0
While Not mycheck And (it < ts.Count)
it = it + 1
If Not ts(it) Is Nothing Then
If ts(it).GetField(FieldNameToFieldConstant(myType & i, pjtask)) <> 0 Then
usedfields = usedfields & myType & CStr(i) & vbCr
mycheck = True
End If
End If
Wend
Next i
myType = "Start"
usedfields = usedfields & vbCrLf & "--" & UCase(myType) & "--" & vbCrLf
For i = 1 To 10
mycheck = False
it = 0
While Not mycheck And (it < ts.Count)
it = it + 1
If Not ts(it) Is Nothing Then
If ts(it).GetField(FieldNameToFieldConstant(myType & i, pjtask)) <> "NA" Then
usedfields = usedfields & myType & CStr(i) & vbCr
mycheck = True
End If
End If
Wend
Next i
myType = "Finish"
usedfields = usedfields & vbCrLf & "--" & UCase(myType) & "--" & vbCrLf
For i = 1 To 10
mycheck = False
it = 0
While Not mycheck And (it < ts.Count)
it = it + 1
If Not ts(it) Is Nothing Then
If ts(it).GetField(FieldNameToFieldConstant(myType & i, pjtask)) <> "NA" Then
usedfields = usedfields & myType & CStr(i) & vbCr
mycheck = True
End If
End If
Wend
Next i
MsgBox usedfields
End Sub
This is what the module gives me. But I would like to have beside Text 1 the name that is shown as below. e.g Text1 is "Test".
Would you mind helping me achieve this?
Thanks in advance.
Chuck
Maybe you are looking for
-
Daily Report for e-mail alerts sent to via subscription
Hi All, Good Day!!!, We have multiple subscription in SCOM 2012 SP1. we need to generate a daily report stating that this many Alert sent to this subscriber group and this many are closed . Ex: We have [email protected] is the subscriber and for this
-
Planning function "Allocation" - enter or upload distribution keys via web
Hey all We want to use the planning function "allocation" and want to find out, if there is a possibility to enter the distribution keys for that planning function either over a web interface or by flat file upload. The idea is, that all companies ov
-
[Nightly] Why bookmarks keep opening in a new window (library)?
In the past, when I clicked "Display your bookmarks" a 1/4 screen size window (not the library) used to appear with all my bookmarks. Now, however, when I click the same button, a window named "Library" is displayed with the bookmarks. Is that change
-
Why we need of tables in smartforms
very very urgent
-
Unlocked my iPhone 4 to use overseas, now can not download apps in Jamaica, help!???!??