I want to open files from a networklocation from VBA, only normal users don't have access to that location (and should preferably not get it).
I instead of using shell("explorer.exe filepath") to open files using windows standard app for the file, which needs userpermissions to the path the file is located, for the currently logged in user.
I'm trying to use CPAU in combination with Shell, because using CPAU you can pass a user/password that has permission to open a process
The only problem is that the filepaths have spaces in them and that is Always a bit of a tricky thing to tackle.
The last command start explorer, but doesn't open the file (just as the first line I posted, it opens Explorer, but not the file. Must be something with the way I pass the filename?)
I am in trouble with the shell ocmmand,i have a text box "ExcelPath Location" in which there is a path of excel file i am using below code to open the excel file but it gives an error:
Code:
Private Sub Command11_Click() Dim str As String str = ExcelPathLocation.Value strPath = Dir(str) Shell "excel.exe" & """" & strPath & """", vbNormalFocus End Sub
How much formatting can be done to a report from Access into Excel? I am trying to (or will be in the next day or so) to create a report to export data and I would like it presented in a specific format. This is hopefully to replace a spreadsheet where someone currently has to collate and re-type a load of info that has already been typed into various other spreadsheets.
Access is going to happily cope with all of those users entering their data to a table, and I would like to be able to output that data to something similar to the end result now? Is there a way to have an Excel template file and simply direct Access what to put in which cell?
I seem to be having a problem opening a file if there happens to be any spaces in the file name. If I open a .pdf no problem acro reader opens it but if it is in word or excell or any other tells me that the file can not be found and seems that only the first part of the file name before a space in the name and the file extention. example: "Test it.doc" would appear as "Test.doc". somewhere it seems to be trimming the file name.
I have a form with a button to print preview a report. This report needs one input parameter before executing. The computer this will run on is a touch screen and does not have a keyboard. Windows 7 has a "on screen keyboard" program. I want this to run first so that my user can input the parameter.
I have the following which throws an "Invalid procedure Call or Argument"
Sub CallTeclado() Dim RetVal RetVal = Shell("c:windowssystem32osk.exe", vbNormalNoFocus) End Sub
to open a folder from within Access 2007 & Windows7. It works, but it always opens the folder minimised, whether I use VbMaximizedFocus or VbNormalFocus. It used to work properly in Access 2003 & WinXP.
I'm using shellexecute in my form whenever a picture is clicked the respective program/ application will open to show the picture. Because I want to see the picture more clearly by zooming it in or out. But the problem is I don't know how to disable the delete button and prev./next button, because I want the user use the program only to zoom it in.
I can currently open a new internet explorer instance, navigate to my URL, then use the .getElementByID to insert my preference into a textbox on the page. Looks like this:
Code: Dim oIE As Object Set oIE = CreateObject("InternetExplorer.Application") oIE.Navigate "URL of my Choice" Do While oIE.Busy Or oIE.ReadyState <> READYSTATE_COMPLETE DoEvents
I'm having trouble with a shell() command in my vba.
I'm trying to call up the picture viewer showing the file of the photo I clicked on in a form. Everything is happening as expected - the file opens in Windows Photo Viewer, but it is minimized.
I can open a picture fine from Windows Explorer, but something about my shell command is forcing a minimize.
Here is my code:
Code: Dim sFile As String PicFile = "C:Pics" & Me!PicName & ".jpg" Shell "RunDLL32.exe C:WindowsSystem32Shimgvw.dll,ImageView_Fullscreen " & PicFile
I would have assumed ImageView_Fullscreen would do what I want!
I'm developing an application where I want to call the keyboard up on the screen when a user enters a field. This is my setup:
Windows 8.1 32 Bit, Access Runtime 2010. Exact lines of code are:
Dim RetVal RetVal = Shell("C:Program FilesCommon Filesmicrosoft sharedinkTabTip.exe")
These lines of code work perfectly fine on my development PC which is running Windows 7 64 bit, Access/Office 32 bit.
I know the path to the exe is good. I can navigate and double click it and it works great. but the shell command is resulting in the invalid procedure.
I'm looking to use the shell function to dynamically call different pdfs that are in a directory. However I'm getting run time error 5 "Invalid procedure or call argument".
Here is the code (very basic I know)..
Private Sub Liste_Documentation_DblClick(Cancel As Integer) Dim PathName As String PathName = Me.Liste_Documentation.Column(2) ' Debug.Print PathName Shell PathName End Sub
A typical filepath name is as follows..
S:VenteVendeursMarcCRMDOCSDiligences KYC - LABFT - V 2013 04 23.pdf
I'm having to recode some old MS Access DBs so they will run in the following environments:
Office 2000 on WinXP Office 2003 on WinXP Office 2010 on WinXP Office 2000 on Win7 Office 2003 on Win7 Office 2010 on Win7
When I wrote my code for Office 2000 on WinXP things were simple because directory paths were the same across all computers and I could hard code pathing when using a shell command to launch other files.
My new approach is to make a function call to the Windows registry to determine the default executable and path for opening a file based upon its extension (see apicFindExecutable in basWindows API module).
I'm able to use code to create a shell call and debug print it to the immediate window. If I put my cursor in the immediate window at the end of the shell call and hit [enter] the external file will open as desired. If I try to open the external file directly through code, I get a file not found error.
To recreate the error take the following steps:
(1) browse to files that are accessible from your computer (2) click the PREPARE DATA AND OPEN MAIL MERGE DOCUMENTS command button
Shell function call is made by the fnOpenFile function located in the basOpenFile module. There has to be a trick here that I'm missing.
I have a database that's almost finished. I've built a few forms for the major parts of the database, but some other data is only changable through the tables directly. The remaining tables (without corresponding forms) are pretty small and shouldn't require changing that often.
Assuming I put user-level restrictions on the database, would it be okay to allow certain users to directly add/edit/remove entries to these tables?
My instincts tell me I should make a simple form for each table, but I'm looking for the path of least effort.
I want to create a combo box that links direct to a table, rather than going through a query. Then when you select the record from the list it updates a text field to show the memo field of which the selected reccord is related
Can any one help
I tried using a query to do it, however queries only ever allow a maximum of 255 charcacters in the fields basically the code looked like this
cboAfterUpdate()
me.txtfield = me.cboselection.column(1) ' because the data was in the seccond column end sub
but as you can guess this only allows 255 characters to come accross from the memo field
I currently have a form in Access 2003 which is filled with quite a lot of data. Each new form need to be approved by some people, and I send them an email through Access to ask it. Is it possible to have a direct link to the form filled with the particular data they need to approve without creating a website?
I got a field which is defnined based on a query result to ease the user input. However, some input are not in the query list, if I input data directly to the field, ACCESS complained I must choose item from the query result. Is there any way that the user can either select from query result or direct input to that single field?
Question: Is it possible, using VBA, to determine the actual Excel file type without opening the file?
I receive data files from other departments. Seems like every time someone changes their download structure, I end up with file types that do not match the download extension (example: xlm file with a xls extension). The files can't even be opened because of this. I think I can fix it if I could figure out how to determine what the file type really is.
I recently upgraded a DB from 2003 to 2013 and ran into the following problem.
I have a button that opens a file dialog box and allows the user to upload a file to a predetermined location (and store the address as a hyperlink). I borrowed this code from someone else on here and modified it slightly.
In any case, the button still works, but now when it opens it doesn't have an option for "All files" under file types. So I can upload MS Office files, text files, etc., but not PDF files which are by far the most common types my users upload.
Here's my code and a screenshot is attached.
Private Sub Command35_Click() Dim dd As Integer Dim fileDump As FileDialog Set fileDump = Application.FileDialog(msoFileDialogOpen) dd = fileDump.Show
I am using the following code to select files using Microsoft Office's file dialog:
Public Function fTestFilePicker() As String Dim fdFileSelection As Office.FileDialog, lstrFileName As String Const kInitialFile = "F:TestbedTest.txt" Set fdFileSelection = Application.FileDialog(msoFileDialogFilePicker) With fdFileSelection .AllowMultiSelect = False
[Code] .....
When I execute it, the file picker goes to the right folder but does not highlight the file test.txt even though that file name shows in the File name text box. Is there any way to correct this?
Is it possible to direct the placement/order new of fields when modifying an Ms Access database in code?
I need to modify the schema of an MS Access database via code - but I want to be able to direct the order or placement of the fields within the tables.
For example - if TableOne has 3 fields - Field10, Field20 and Field30.
I would like to be able to add say Field15 between Field10 and Field20 - not just append it to the end of existing fields.
I believe it is possible as you can do it within Ms Access itself. I can use ADO, DAO, ADOX or SQL for that matter - but it seems all of these offer no placement of the field within the table.
Ok, this is very odd. I am running a small DOS executable from within a db. I am using the shell command. The DOS exe is suppose to create a *.txt file. The file creates the *.txt file if I launch it from Windows Explorer. Howeve, if I use the Shell() command, it does not create the *.txt file. What can I use in place of the Shell() command to execute the file as if it was being executed from within Windows Explorer. I don't understand why it isn't working with the Shell() command...
I'm having another one of those days but I'm getting a file path and file name from a dialogbox and forgotten when the VBA property is to return the full file path and file name.
This code works fine for return the filename only:
Code:
Private Sub TEST() Dim f As Object Set f = Application.FileDialog(3) f.AllowMultiSelect = True If f.Show Then For I = 1 To f.SelectedItems.Count MsgBox Filename(f.SelectedItems(I)) Next End If End Sub
Instead of using 'Filename' what else can I use to return what I need?