Hi Matt,
I have asked a similar Q before and I got this code:
Dim Obj_BOApp As busobj.Application
Dim Obj_BODoc As busobj.Document
Dim Obj_BORep As busobj.Report
Dim Obj_AppVariable As busobj.Variable
Private Sub RefreshReports_Click()
On Error Resume Next
Set Obj_BOApp = New busobj.Application
If Err.Number <> 0 Then
Call MsgBox(Err.Description, vbCritical)
Else
'We don't want to see the application
Obj_BOApp.Visible = False
'We don't want any interaction
Obj_BOApp.Interactive = False
'We open Business Objects with the login/password from the Form
On Error Resume Next
Call Obj_BOApp.LoginAs(Login.Text, Password.Text, Offline.Value, BOMain.Text)
If Err.Number <> 0 Then
Call MsgBox(Err.Description, vbCritical)
Else
OpenRefreshExportDoc ("C:\Doc1.rep"

OpenRefreshExportDoc ("C:\Doc2.rep"

End If
Obj_BOApp.Quit
End If
End Sub
Private Sub OpenRefreshExportDoc(DocPath As String)
Dim VarMonth As busobj.Variable
On Error Resume Next
'We open the document
Set Obj_BODoc = Obj_BOApp.Documents.Open(DocPath, False, False)
If Err.Number <> 0 Then
Call MsgBox(Err.Description, vbCritical)
Else
'We create the variable that is actually the exact Label of your prompt
Set VarMonth = Obj_BOApp.Variables.Add("Month?"

'We set the value
VarMonth.Value = InputBox("What value for your month?", "Month"

'We refresh the document
On Error Resume Next
Obj_BODoc.Refresh
If Err.Number <> 0 Then
Call MsgBox(Err.Description, vbCritical)
Else
'We export all reports in the document to a text file
For Each Obj_BORep In Obj_BODoc.Reports
Obj_BORep.ExportAsText ("C:\" & Obj_BODoc.Name & "_" & Obj_BORep.Name & ".txt"

Next
End If
VarMonth.Delete
Obj_BODoc.Close
End If
End Sub"
HTH,
Nick