La siguiente macro:
Application.DefaultSaveFormat = ""
ChangeFileOpenDirectory _
"C:\Documents and Settings\Administrador\Escritorio\"
ActiveDocument.SaveAs FileName:="Salvado.doc", FileFormat:= _
wdFormatDocument, LockComments:=False, Password:="123456", _
AddToRecentFiles:=True, WritePassword:="",
ReadOnlyRecommended:=False, _
EmbedTrueTypeFonts:=False, SaveNativePictureFormat:=False,
SaveFormsData _
:=False, SaveAsAOCELetter:=False
Guarda el documento activo con el nombre Salvado.doc y protegido con
la contraseña 123456 en el Escritorio del usuario de nombre
Administrador. Esto funciona bien en Windows XP y si el usuario es
Administrador.
Cómo puedo hacer para que la macro grabe el documento en el escritorio
del usuario independientemente de si está bajo XP o Vista y del nombre
de usuario?
O sea, si el usario está en XP pero se llama Juan esta macro no
funciona porque la ruta "C:\Documents and Settings\Administrador
\Escritorio\" no es correcta.
Si el usuario se llama Administrador pero está en Vista tampoco la
ruta sirve porque en realidad debería ser del tipo "C:\Users
\Administrador\Escritorio\" o algo parecido.
Pregunto:
Y cual es la necesidad, el porque ? ... de guardarlo en el escritorio?
Comentanos..!
Saludos
Monica
--OP--
>La siguiente macro:
>Application.DefaultSaveFormat = ""
>ChangeFileOpenDirectory _
>"C:\Documents and Settings\Administrador\Escritorio\"
>ActiveDocument.SaveAs FileName:="Salvado.doc", FileFormat:= _
> wdFormatDocument, LockComments:=False, _
>Password:="123456", _
>AddToRecentFiles:=True, WritePassword:="",
>ReadOnlyRecommended:=False, _
>EmbedTrueTypeFonts:=False, SaveNativePictureFormat:=False,
>SaveFormsData _
>:=False, SaveAsAOCELetter:=False
>Guarda el documento activo con el nombre Salvado.doc
>y protegido con la contrase�a 123456 en el Escritorio
>del usuario de nombreAdministrador. Esto funciona bien
>en Windows XP y si el usuario es Administrador.
>...hacer para que la macro grabe el documento en el escritorio
>del usuario independientemente de si esta bajo XP o Vista
>y del nombre de usuario?
>O sea, si el usario esta en XP pero se llama Juan esta macro no
>funciona porque la ruta "C:\Documents and Settings\Administrador
>\Escritorio\" no es correcta.
>Si el usuario se llama Administrador pero est� en Vista tampoco la
>ruta sirve porque en realidad deber�a ser del tipo "C:\Users
Necesito crear una macro que realice determinadas tareas y luego se
guarde automáticamente con un nombre y contraseña que yo elijo. Ese
archivo me tiene que ser enviado por correo electrónico y simplemente
para facilitarle la tarea a las personas a las que va dirijido sería
mucho más sencillo si logro que se guarde automáticamente en el
Escritorio independientemente del nombre de usuario y de la versión de
Windows que estén ejecutando.
Así luego les quedaría más fácil ubicar el archivo.
Tal vez también podría guardarse en MIS DOCUMENTOS en lugar del
ESCRITORIO si eso fuera posible igual serviría.
Ten presente que sería una archivo que usarían personas con escasos
conocimientos y no quiero complicarlos.
Gracias por cualquier aporte.
>... macro que realice determinadas tareas y luego se
>guarde automaticamente con un nombre y contrase#a que yo elijo...
>archivo me tiene que ser enviado por correo electronico y...
>para facilitarle la tarea a las personas a las que va dirijido seria
>mucho mas sencillo si logro que se guarde automaticamente en el
>Escritorio independientemente del nombre de usuario y de la version de
>Windows que esten ejecutando.
>... mas facil ubicar el archivo.
>...tambien podria guardarse en MIS DOCUMENTOS en lugar del
>ESCRITORIO...archivo que usarian personas con escasos
>conocimientos y no quiero complicarlos.
Si quieres averiguar el entorno de un windows vista o xp del usuario que
abra tu archivo y saber en este caso la ruta del escritorio....
....entonces por ejemplo yo utilizaria un procedimiento que me devolviera la
ruta donde tengo la carpeta del Escritorio ...
...y para ello he elegido un codigo de nuestro companero Hector Miguel
Orozco :-) donde averigua el entorno tanto de un windows vista como de un
windows xp (Perfil, Escritorio, Mis documentos, Configuracion local, Datos
de programa y Temporales)>>
Mis Macros Favoritas: Referencia >> [ Procedimiento AveriguaMiEntorno() ]
http://www.teladearana.es/seccion/excel/47-h6.html
y que he adaptado para este caso en concreto...quedando asi para este caso
>>
'[]
Sub Guarda_enMientorno_Escritorio()
Dim vista As Boolean, ClaveWin As _
String: With CreateObject("wscript.shell")
vista = .RegRead _
("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\CurrentVersion")
ClaveWin = IIf(Val(vista) < 6, "AppData", "Settings")
ActiveDocument.SaveAs FileName:=.SpecialFolders("Desktop") _
& "\minomwbrearchivo.doc"
End With: End Sub
'[]
Es una manera de averiguar mas limpiamente la ruta de estas carpetas Tanto
en Windows vista como por ejemplo en un Windows XP y tambien
independientemente del idioma Espanol o ingles, ... :) !
Comentanos....!
Saludos
Monica
Se puede recortar el procedimiento anterior a lo siguiente:
Por Cortesia de Hector Miguel Orozco :-) >>
Sub Guarda_enMientorno_Escritorio()
ActiveDocument.SaveAs _
FileName:=CreateObject("wscript.shell").SpecialFolders("desktop") _
& "\miDocumento"
End Sub
Quitando la EXT-ension en la propiedad FileName, asume la version en la que
se ejecuta a menos que se necesite guardar en la version de Word 2007 como
archivo "habilitado con macros" o en versiones previas (97-2003)
Comentanos...!
Saludos
Monica
-------
Es justo lo que precisaba!!
Muchas gracias, seguiré leyendo este grupo para aprender más!!