cs_tulesais
Messages postés175Date d'inscriptionmercredi 2 juin 2004StatutMembreDernière intervention11 avril 2013
-
13 nov. 2007 à 10:16
cs_tulesais
Messages postés175Date d'inscriptionmercredi 2 juin 2004StatutMembreDernière intervention11 avril 2013
-
21 nov. 2007 à 09:09
Bonjour,
je donne actuellement, la possibilité aux utilisateurs d'un outil, de Visualiser ou Modifer (suivant les droits de l'utilisateur) des fichiers textes
à l'aide du composant richtextbox !
Malheureusement, ce composant est très limité et ne gère pas les fichiers de gros volumes !
Un collègue m'a aiguillé vers la piste de Word.
En pilotant Word à partir de VB, puis je avoir accès aux menus ?
Le but étant de désactiver la fonction 'enregistrer sous' et éventuellement (suivant les droits de l'utilisateur) la fonction 'enregistrer'.
cs_tulesais
Messages postés175Date d'inscriptionmercredi 2 juin 2004StatutMembreDernière intervention11 avril 20132 21 nov. 2007 à 09:09
C'est bon !!!
j'ai suivi la direction de RenField : optimiser le code avec un SendMessage dont voici le code :
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Public Const EM_LINEINDEX As Long = &HBB
Private Sub Tmr_Sel_Timer()
w_ligne = Format(CStr(GetRow), "000000")
w_colonne = Format(CStr(GetCol), "000000") + 1
End Sub
Public Function GetRow() As Long
GetRow= rtb.GetLineFromChar(rtb.SelStart) + 1
End Function
Public Function GetCol() As Long
GetCol= rtb.SelStart - SendMessage(rtb.hwnd, EM_LINEINDEX, GetRow - 1, ByVal 0&)
End Function
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 13 nov. 2007 à 10:31
"...Malheureusement, ce composant est très limité et ne gère pas les fichiers de gros volumes !..." ?????
Ne confondrais-tu pas avec le controle TextBox par hasard ????
Le controle Textbox est limité à du text de 64ko, la limite du controle RichTextBox dépend essentiellement de la mémoire sur ta machine.
J'ai déjà eu l'occasion d'ouvrir un fichier de plus de 600Mo dans un controle RTB, certes ça prend énormément de temps, mais c'est possible.
cs_tulesais
Messages postés175Date d'inscriptionmercredi 2 juin 2004StatutMembreDernière intervention11 avril 20132 13 nov. 2007 à 10:57
salut casy !
je pense qu'il y a tout de même une limitation du richtextbox soit au niveau taille soit au niveau du nombres de lignes.
Par contre, j'affiche dans le formulaire ou se trouve le RTB, le N°Ligne et le N°Colonne et pour cela, j'utilise un algo
insupportable pour les gros fichiers.
C'est pour toutes ces raisons que je souhaite passer en pilotage word ou autres ...
cs_tulesais
Messages postés175Date d'inscriptionmercredi 2 juin 2004StatutMembreDernière intervention11 avril 20132 20 nov. 2007 à 10:38
Toujours dans l'optique de piloter word en mode lecture uniquement, j'arrive à désactiver certaines fonctions du menu 'ouvrir, enregistrer...'.
par contre, ces fonctions n'apparaissent plus du tout dans word même après un reboot de la machine !!!
comment réhabiliter les fonctions du menu après fermeture du document word ???
Merci d'avance pour votre aide !!!!!
Dim wrd As New Word.Application
Dim c As CommandBar
Dim MonDoc As Word.Document
For Each c In wrd.CommandBars
For Each cp In c.Controls If c.Type msoBarTypeMenuBar Or c.Type msoBarTypePopup Then
For Each cb In cp.Controls
Select Case cb.Caption
Case "Enre&gistrer"
cb.Enabled = False
Case "Enre&gistrer sous..."
cb.Enabled = False
Case "Enre&gistrer en tant que Page &Web..."
cb.Enabled = False
End Select
Next
End If
Next
Next
Set MonDoc = wrd.Documents.Open(FileName:=stFichier, ReadOnly:=True)