It is not possible to use relative paths within vbscript directly - you will need to build an own logic, see here various approaches to get it: https://www.google.de/search?q=vbscript+relative+path
Using relative paths in VBScript works in my QV 11.20 installation, but not in QV 12.0.
I tested a little using the following VBScript function:
Set fso = CreateObject("Scripting.FileSystemObject")
VBWorkingDir = fso.GetAbsolutePathName(".")
This function returns my application(qvw) directory in 11.20, but in 12.0 it returns "D:\Program Files\QlikView"
As I use my VBScript function in the QV load script to initialize variables, performance doesn't matter and I can expand relative paths like this:
FOR EACH v.Logfile IN filelist ( '..\logdir\myapp.log' );
NEXT v.Logfile // EmptyFOR EACH loop to convert relative filename to full path
A workaround is to use a function to set the working directory of the VBScript engine:
On Error Resume Next ' Should go to the top of your script
Set objShell = CreateObject("Wscript.Shell")
objShell.CurrentDirectory = dirPath
VBSetWorkingDir = Err.Description
// QlikView Script:
LET v.ErrorMsg = VBSetWorkingDir(Text(QvWorkPath));
If I knew how to access QvWorkPath from VBScript I could have put the code in the initialization part of VBScript, then you would not need to call any function before using relative paths.
Are you wanting to use the QvWorkPath during reload or from the UI? A caution on QvWorkPath: QvWorkPath is set at the end of script execution. The QvWorkPath you get during reload is from the last execution. If you move a file, QvWorkPath will not be correct in the first reload.