⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mdlglobal.bas

📁 Simple Word Document...
💻 BAS
字号:
Attribute VB_Name = "MdlGlobal"
Public DocuNumber As Integer
Public DocuNew() As frmPage

Public DocuZoomVal As Double
Public PageMarginleft As Integer
Public PageMarginTop As Integer
Public PageMarginRight As Integer
Public PageMarginBottom As Integer

Public HeaderMargin As Integer
Public FooterMargin As Integer

Public flagcut As Boolean
Public flagcopy As Boolean

Public FOpen As Scripting.FileSystemObject
Public FRead As Scripting.TextStream
Public FWrite As Scripting.TextStream

Dim SpellCheck As Object


Sub Main()
    
    Set FOpen = New Scripting.FileSystemObject
    
    DocumentOpened = False
    MDIfrm.Show
    DocuNumber = 0
    
    DocuZoomVal = 1
    
    HeaderMargin = 720
    FooterMargin = 720
    PageMarginleft = (1440 * 1) * DocuZoomVal
    PageMarginTop = (1440 * 1) * DocuZoomVal
    PageMarginRight = (1440 * 1) * DocuZoomVal
    PageMarginBottom = (1440 * 1) * DocuZoomVal
    
    NewDocument
    MDIfrm.mnuAlign(0).Checked = True
    MDIfrm.ComFont.Text = MDIfrm.ActiveForm.Document_.SelFontName
    MDIfrm.comSize.Text = MDIfrm.ActiveForm.Document_.SelFontSize
End Sub

Public Function NewDocument()
    EnableControlforNewDocu
    DocuNumber = DocuNumber + 1
    ReDim Preserve DocuNew(DocuNumber)
    Set DocuNew(DocuNumber) = New frmPage
    DocuNew(DocuNumber).Caption = "Document" & DocuNumber
    DocuNew(DocuNumber).Show
End Function

Public Function MakeStatusBarFormated(Bar As StatusBar)
    Bar.Panels.Clear
    Set my_panel = Bar.Panels.Add(1)
    Bar.Panels(1).AutoSize = 2
    Bar.Panels(1).Bevel = sbrInset
    Bar.Panels(1).Style = sbrCaps
    Bar.Panels(1).Width = 600
    
    Set my_panel = Bar.Panels.Add(2)
    Bar.Panels(2).AutoSize = 2
    Bar.Panels(2).Bevel = sbrInset
    Bar.Panels(2).Style = sbrNum
    Bar.Panels(2).Width = 600
    
    Set my_panel = Bar.Panels.Add(3)
    Bar.Panels(3).AutoSize = 2
    Bar.Panels(3).Bevel = sbrInset
    Bar.Panels(3).Style = sbrIns
    Bar.Panels(3).Width = 600
    
    Set my_panel = Bar.Panels.Add(4)
    Bar.Panels(4).AutoSize = sbrSpring
    Bar.Panels(4).Bevel = sbrInset
    Bar.Panels(4).Style = sbrText
    
End Function

Public Sub EnableControlforNewDocu()
    With MDIfrm
        .mnuClose.Enabled = True
        .mnuSave.Enabled = True
        .mnuSaveAs.Enabled = True
        .mnuPageSetup.Enabled = True
        .mnuPreview.Enabled = True
        .mnuPrint.Enabled = True
        
        .mnuUndo.Enabled = True
        .mnuRedo.Enabled = True
        .mnuCut.Enabled = True
        .mnuCopy.Enabled = True
        .mnuPaste.Enabled = True
        .mnuSelectAll.Enabled = True
        .mnuClear.Enabled = True
        .mnuFind.Enabled = True
        .mnuReplace.Enabled = True
        
        .mnuHeaderFooter.Enabled = True
        
        .mnuBreak.Enabled = True
        .mnuDateTime.Enabled = True
        .mnuAutoText.Enabled = True
        .mnuSymbol.Enabled = True
        .mnuFromFile.Enabled = True
        .mnuFromScanner.Enabled = True
        .mnuInsertFile.Enabled = True
        
        .mnuFonts.Enabled = True
        .mnuParagraph.Enabled = True
        .mnuBulletNumber.Enabled = True
        .mnuAlign(0).Enabled = True
        .mnuAlign(1).Enabled = True
        .mnuAlign(2).Enabled = True
        .mnuChangeCase.Enabled = True
        
        .mnuSpellGrammer.Enabled = True
        
        .mnuNewwindow.Enabled = True
        .mnuHorizon.Enabled = True
        .mnuVertical.Enabled = True
        
        .FileTools.Buttons(3).Enabled = True
        .FileTools.Buttons(4).Enabled = True
        .FileTools.Buttons(5).Enabled = True
        
        .EditTools.Buttons(1).Enabled = True
        .EditTools.Buttons(2).Enabled = True
        .EditTools.Buttons(3).Enabled = True
        .EditTools.Buttons(4).Enabled = True
        .EditTools.Buttons(5).Enabled = True
        
        .ComFont.Enabled = True
        .comSize.Enabled = True
        .FormatTools.Buttons(1).Enabled = True
        .FormatTools.Buttons(2).Enabled = True
        .FormatTools.Buttons(3).Enabled = True
        .FormatTools.Buttons(4).Enabled = True
        .FormatTools.Buttons(5).Enabled = True
        .FormatTools.Buttons(6).Enabled = True
        .FormatTools.Buttons(7).Enabled = True
    End With
End Sub


Public Sub DisableControlNoDocu()
    With MDIfrm
        .mnuClose.Enabled = False
        .mnuSave.Enabled = False
        .mnuSaveAs.Enabled = False
        .mnuPageSetup.Enabled = False
        .mnuPreview.Enabled = False
        .mnuPrint.Enabled = False
        
        .mnuUndo.Enabled = False
        .mnuRedo.Enabled = False
        .mnuCut.Enabled = False
        .mnuCopy.Enabled = False
        .mnuPaste.Enabled = False
        .mnuSelectAll.Enabled = False
        .mnuClear.Enabled = False
        .mnuFind.Enabled = False
        .mnuReplace.Enabled = False
        
        .mnuHeaderFooter.Enabled = False
        
        .mnuBreak.Enabled = False
        .mnuDateTime.Enabled = False
        .mnuAutoText.Enabled = False
        .mnuSymbol.Enabled = False
        .mnuFromFile.Enabled = False
        .mnuFromScanner.Enabled = False
        .mnuInsertFile.Enabled = False
        
        .mnuFonts.Enabled = False
        .mnuParagraph.Enabled = False
        .mnuBulletNumber.Enabled = False
        .mnuAlign(0).Enabled = False
        .mnuAlign(1).Enabled = False
        .mnuAlign(2).Enabled = False
        .mnuChangeCase.Enabled = False
        
        .mnuSpellGrammer.Enabled = False
        
        .mnuNewwindow.Enabled = False
        .mnuHorizon.Enabled = False
        .mnuVertical.Enabled = False
        
        
        .FileTools.Buttons(3).Enabled = False
        .FileTools.Buttons(4).Enabled = False
        .FileTools.Buttons(5).Enabled = False
        
        .EditTools.Buttons(1).Enabled = False
        .EditTools.Buttons(2).Enabled = False
        .EditTools.Buttons(3).Enabled = False
        .EditTools.Buttons(4).Enabled = False
        .EditTools.Buttons(5).Enabled = False
        
        .ComFont.Enabled = False
        .comSize.Enabled = False
        .FormatTools.Buttons(1).Enabled = False
        .FormatTools.Buttons(2).Enabled = False
        .FormatTools.Buttons(3).Enabled = False
        .FormatTools.Buttons(4).Enabled = False
        .FormatTools.Buttons(5).Enabled = False
        .FormatTools.Buttons(6).Enabled = False
        .FormatTools.Buttons(7).Enabled = False
    End With
End Sub

Public Function FastReplace(SSrch$, SFind$, SRepl$) As String

    Dim Src() As Byte, Dst() As Byte, R() As Byte, F() As Byte
    Dim LenF&, LenR&, LenDst&, i&, j&, OutPos&

    Const ChunkSize& = 4096

    If SSrch = "" Or SFind = "" Then Exit Function

    Src = SSrch: F = SFind: R = SRepl
    LenF = UBound(F): LenR = UBound(R)
    LenDst = ChunkSize: ReDim Dst(0 To LenDst - 1)
  
    For i = 0 To UBound(Src) Step 2

        For j = 0 To LenF Step 2
            If Src(i + j) <> F(j) Then Exit For
        Next j

        If j > LenF Then 'Found

            For j = 0 To LenR Step 2
                If OutPos >= LenDst Then
                    LenDst = LenDst + ChunkSize
                    ReDim Preserve Dst(0 To LenDst)
                End If
                Dst(OutPos) = R(j): OutPos = OutPos + 2
            Next j

            i = i + LenF - 1

        Else

            If OutPos >= LenDst Then
                LenDst = LenDst + ChunkSize
                ReDim Preserve Dst(0 To LenDst)
            End If

            Dst(OutPos) = Src(i): OutPos = OutPos + 2

        End If
    Next i
  
    ReDim Preserve Dst(0 To OutPos - 2): SSrch = Dst
    
    FastReplace = SSrch$
    
End Function

Public Function SpellChecker(Textbox As String) As String
On Error GoTo Errorhandler

    Set SpellCheck = CreateObject("Word.Application")
    SpellCheck.Visible = False
    SpellCheck.Documents.Add
    Clipboard.Clear
    Clipboard.SetText Textbox
    SpellCheck.Selection.Paste
    SpellCheck.ActiveDocument.CheckSpelling
    SpellCheck.Visible = False
    SpellCheck.ActiveDocument.Select
    SpellCheck.Selection.Cut
    SpellChecker = Clipboard.GetText
    SpellCheck.ActiveDocument.Close SaveChanges:= _
    wdDoNotSaveChanges
    SpellCheck.Quit

    Set SpellCheck = Nothing
    Exit Function

Errorhandler:
    SpellCheck.ActiveDocument.Close SaveChanges:= _
    wdDoNotSaveChanges
    SpellCheck.Quit
    Set SpellCheck = Nothing

    MsgBox "Error: " & Err.Number & "  " & Err.Description, vbExclamation, "School Report Card Spell Check Error"
End Function



'Create the Ruler
Public Sub DrawRuler(MSize As Integer, HRuler As PictureBox)
    Dim Sincr As Single, RScale As Integer
    'Scalemode is in TWIPS 1440 per inch
    RScale = 1440
    'Number of segment across form
    Sincr = RScale / MSize
    Do While Sincr < HRuler.ScaleWidth
        'Number of sections
        For i = 1 To MSize
            'Size of Tics
            If i = MSize Then
                'HRuler.Line (Sincr, 0)-(Sincr, HRuler.ScaleHeight)
                'HRuler.CurrentY = 0
                'HRuler.Print Int(Sincr / RScale)
                HRuler.CurrentX = Sincr - 40
                HRuler.CurrentY = 20
                HRuler.Print Int(Sincr / RScale)
            Else
                If i = Int(MSize * 0.5) Then
                    HRuler.Line (Sincr, (HRuler.ScaleHeight / 2) - 40)-(Sincr, (HRuler.ScaleHeight / 2) + 40)
                Else
                    HRuler.Line (Sincr, (HRuler.ScaleHeight / 2) - 20)-(Sincr, (HRuler.ScaleHeight / 2) + 20)
                End If
                
'                If i = Int(MSize * 0.75) Then
'                    HRuler.Line (Sincr, HRuler.ScaleHeight - (HRuler.ScaleHeight * 0.25))-(Sincr, HRuler.ScaleHeight)
'                Else
'                    If i = Int(MSize * 0.5) Then
'                        HRuler.Line (Sincr, HRuler.ScaleHeight - (HRuler.ScaleHeight * 0.5))-(Sincr, HRuler.ScaleHeight)
'                    Else
'                        If i = MSize * 0.25 Then
'                            HRuler.Line (Sincr, HRuler.ScaleHeight - (HRuler.ScaleHeight * 0.25))-(Sincr, HRuler.ScaleHeight)
'                        Else
'                            HRuler.Line (Sincr, HRuler.ScaleHeight - (HRuler.ScaleHeight * 0.125))-(Sincr, HRuler.ScaleHeight)
'                        End If
'                    End If
'                End If
            End If
            Sincr = Sincr + (RScale / MSize)
        Next
    Loop
End Sub


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -