Capture Named View without activate?

Recently I modify a bit of my previous script (capture using rect) to capture views with ViewNearCorners.

However it was set up by using Active Viewports, meaning I have manually turn on Named Views one by one in order to capture those.

I wonder if there’s a way to do the capture without activating them?

import Rhino
import System.Drawing
import Rhino.Geometry as rg
import scriptcontext as sc
import rhinoscriptsyntax as rs
import Rhino.Display as rd
import System

for i in view:
    
    RhinoDocument = Rhino.RhinoDoc.ActiveDoc
    selectview = RhinoDocument.Views.Find(i, False)
    viewcorner = rs.ViewNearCorners(i)
    clientarea = selectview.ClientRectangle
    
pt0 = viewcorner[0]
pt1 = viewcorner[1]
pt2 = viewcorner[2]
pt3 = viewcorner[3]

width = clientarea.Width
height = clientarea.Height

fector = float(fector or '1')

size = 'w=' + str(int(width*fector)) + ', ' + 'h=' + str(int(height*fector))



def Capture():
    
    RhinoDocument = Rhino.RhinoDoc.ActiveDoc
    selectview = RhinoDocument.Views.Find(i, False)
    size = System.Drawing.Size(int(width*fector), int(height*fector)) 

    settings = rd.ViewCaptureSettings(selectview, size, 300) #view, size, dpi
    settings.SetWindowRect(pt0, pt2)
    settings.RasterMode = True
    settings.DrawGrid = False
    settings.DrawAxis = False
    settings.DrawWallpaper = False

    bitmap = rd.ViewCapture.CaptureToBitmap(settings)
    bitmap.Save(path+str(filename)+".png")


if save:
    
    for i in view:
    
        RhinoDocument = Rhino.RhinoDoc.ActiveDoc
        selectview = RhinoDocument.Views.Find(i, False)
        rs.ViewDisplayMode(i, mode)
        rd.RhinoView.Redraw(selectview)
    
        Capture()
    
        print(path+str(filename)+".png")

Any thoughts here?